首页 > 解决方案 > 基数为 10 的 int() 的无效文字:'[7' 以及如何删除括号

问题描述

arrx=list(map(int,input().strip().split(',')))

我正在尝试上面的代码来获取的输入,'[7,5,1,6,3,4]'但我得到了一个错误invalid literal for int() with base 10: '[7'

任何人都可以向我建议一条出路吗?

标签: pythonlistinputtuples

解决方案


您可以.strip()通过指定字符来剥离它们:

arrx=list(map(int,input().strip('[] ').split(',')))

请注意,如果您的输入实际上是一个 JSON 列表,您可以更稳健地将其解析为 json:

import json
arrx = json.loads(input())

如果它是 Python 文字表达式,您可以使用ast

import ast
arrx = ast.literal_eval(input())

推荐阅读