【发布时间】:2020-02-03 16:59:24
【问题描述】:
我正在读取一个包含列表的文件。下面是输入文件。
[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之类的库的情况下,我应该怎么做才能完成这个任务
【问题讨论】:
-
你为什么不想使用
ast?你为什么首先这样做?为什么不使用像json或pickle这样的内置序列化方法?
标签: python python-3.x list