gpt4 book ai didi

python - 将字符串中读取的输入列表转换为Python中的列表

转载 作者:行者123 更新时间:2023-12-01 00:04:49 24 4
gpt4 key购买 nike

我正在读取一个包含列表的文件。下面是输入文件。

[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.literal_eval:

import ast

_final_list = []
for line in _list:
python_object = ast.literal_eval(line)
if isinstance(python_object, list):
_final_list.extend(python_object)

或者您可以使用正则表达式:

import re

_final_list = []
for line in _list:
my_list = [e.group() for e in re.finditer(r'\d+', line)]
_final_list.extend(my_list)

关于python - 将字符串中读取的输入列表转换为Python中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60043832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com