是否可以使用 Python 解析以下字符串,或者将其转换为另一种数据结构,以便可以访问每个元素进行分析?
这是一个大型文本文件中的示例行,其中每一行都具有相同的格式。
string = ["('a', '1')", "('b', '2')"]
请您参考如下方法:
如果您只想将元组字符串转换为元组,可以使用ast.literal_eval。 :
>>> import ast
>>> [ast.literal_eval(x) for x in string]
[('a', '1'), ('b', '2')]
鼓励使用 ast.literal_eval 而不是 eval,因为它被认为更安全:它不会执行 所有 Python 代码字符串,只有文字表达式(没有变量,没有函数调用)。
然后您可以使用 Python 的切片/索引表示法访问元组的元素,或转换为替代数据结构,例如字典:
>>> dict([ast.literal_eval(x) for x in string])
{'a': '1', 'b': '2'}
