我正在阅读一个包含列表的文件。下面是输入文件。
[1,2,3,4]
[42]
[1,1,2,3,5,8]
[]
现在,如您所见,有一些列表被读取为字符串字符,我正在尝试将其转换为实际列表。
下面是我正在使用的代码。
_list = list(sys.stdin.readline().strip())
_final_list = []
for n in _list:
try:
n = int(n)
except ValueError:
continue
if isinstance(n, int):
_final_list.append(n)
现在我的代码可以正常工作,直到数字超过一位数。例如 42 将变成 4, 2。这不是我想要的。
我的代码生成以下结果。
[1, 2, 3, 4]
[4, 2] <--- FALSE
[1, 1, 2, 3, 5, 8]
[]
我应该在这里做什么来完成这项任务而不使用诸如ast