如何正确地将 list[str] 转换为 list[int]?
How to properly convert a list[str] into a list[int]?
我在 flask 中有这条路由,它从客户端(Angular)接收到 data
。我正在使用 data = request.data.decode("UTF-8")
获取数据,结果将是这个:"[1,2,3,4,5]"
。为了让我去掉这些"[]"
,我用了data1 = data.strip("[]")
,结果就是这个"1,2,3,4,5"
。为了使它成为 list[str]
,我使用了这个 data2 = [data1]
,输出现在是 ["1,2,3,4,5"]。最后,为了让我将它转换为 list[int]
,我使用了这个 finalData = list(map(int,data2[0].split(",")))
,这将导致这个 [1,2,3,4,5].
问题:
但是每次我用这个code flask总是提示这个错误:
文件“C:\Users\bagal\Desktop\hello_flask\dummyLogin.py”,第 69 行,在 reportData
finalData = list(map(int,data2[0].split(",")))
ValueError:以 10 为底的 int() 的无效文字:''
代码:
@app.route("/adminData", methods = ['POST', 'GET'])
def reportData():
data = request.data.decode("UTF-8")
data1 = data.strip("[]")
data2 = [data1]
finalData = list(map(int,data2[0].split(",")))
注意:我在机器学习模型中使用的是抓取的数据,抱歉楼上的解释太长了,希望有人能帮忙。
整个字符串看起来是只包含文字的有效 python 表达式。您可以使用 ast.literal_eval()
一次处理整个字符串。
>>> import ast
>>> ast.literal_eval("[1,2,3,4,5]")
[1, 2, 3, 4, 5]
我在 flask 中有这条路由,它从客户端(Angular)接收到 data
。我正在使用 data = request.data.decode("UTF-8")
获取数据,结果将是这个:"[1,2,3,4,5]"
。为了让我去掉这些"[]"
,我用了data1 = data.strip("[]")
,结果就是这个"1,2,3,4,5"
。为了使它成为 list[str]
,我使用了这个 data2 = [data1]
,输出现在是 ["1,2,3,4,5"]。最后,为了让我将它转换为 list[int]
,我使用了这个 finalData = list(map(int,data2[0].split(",")))
,这将导致这个 [1,2,3,4,5].
问题: 但是每次我用这个code flask总是提示这个错误:
文件“C:\Users\bagal\Desktop\hello_flask\dummyLogin.py”,第 69 行,在 reportData
finalData = list(map(int,data2[0].split(",")))
ValueError:以 10 为底的 int() 的无效文字:''
代码:
@app.route("/adminData", methods = ['POST', 'GET'])
def reportData():
data = request.data.decode("UTF-8")
data1 = data.strip("[]")
data2 = [data1]
finalData = list(map(int,data2[0].split(",")))
注意:我在机器学习模型中使用的是抓取的数据,抱歉楼上的解释太长了,希望有人能帮忙。
整个字符串看起来是只包含文字的有效 python 表达式。您可以使用 ast.literal_eval()
一次处理整个字符串。
>>> import ast
>>> ast.literal_eval("[1,2,3,4,5]")
[1, 2, 3, 4, 5]