如何正确地将list[str]转换为list[int]



我在烧瓶中有这个路由,它从客户端(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]。

问题:但每次我使用这个代码烧瓶时,总是提示这个错误:

文件";C: \Users\bagal\Desktop\hello_flask \demyLogin.py";,第69行,在reportData 中

finalData=列表(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]

最新更新