gpt4 book ai didi

python - 如何将相似列表转换为列表?

转载 作者:行者123 更新时间:2023-11-28 21:57:00 25 4
gpt4 key购买 nike

我正在以这种格式从文件中读取数据行:

['A', 'B', 'C', 'D', 'E']
['1', '2', '3', '4', '5']

...等

但是,当我执行 type(dataInput[0]) 时,它告诉我它来自字符串类型。虽然它看起来像一个带有括号和所有内容的列表。我怎样才能使 dataInput[0] 直接变成列表而不是字符串?

这是一些代码:

fobj = open(selectedCase, 'r').read()
dataInput = re.split('\n', fobj)

我看过以下主题: How to convert comma-delimited string to list in Python?但是,该示例在字符串中没有括号。

最佳答案

使用ast.literal_eval()将这些字符串转换为 Python 列表:

import ast

dataInput = [ast.literal_eval(line) for line in fobj.splitlines()]

演示:

>>> import ast
>>> result = ast.literal_eval("['A', 'B', 'C', 'D', 'E']")
>>> type(result)
<class 'list'>
>>> result
['A', 'B', 'C', 'D', 'E']

您可能希望将文件对象用作上下文管理器,让 Python 再次显式关闭它:

with open(selectedCase) as infh:
dataInput = [ast.literal_eval(line) for line in infh]

这也使用文件对象作为迭代器,循环将一次从文件中获取一行。

关于python - 如何将相似列表转换为列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20543573/

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