如何正确地将 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]