所以给出一个列表的文本表示
['cellular organisms', 'Bacteria', 'Bacteroidetes/Chlorobi group', 'Bacteroidetes', 'Bacteroidia', 'Bacteroidales', 'Bacteroidaceae', 'Bacteroides', 'Bacteroides vulgatus']
将此文本转换回python脚本中的实际列表的最简单方法是什么? 分裂真的是最好的方式吗?谢谢!
答案 0 :(得分:11)
>>> import ast
>>> a = "['cellular organisms', 'Bacteria', 'Bacteroidetes/Chlorobi group', 'Bacteroidetes', 'Bacteroidiroidales', 'Bacteroidaceae', 'Bacteroides', 'Bacteroides vulgatus']"
>>> ast.literal_eval(a)
['cellular organisms', 'Bacteria', 'Bacteroidetes/Chlorobi group', 'Bacteroidetes', 'Bacteroidia', 'Bacteroidales', 'Bacteroidaceae', 'Bacteroides', 'Bacteroides vulgatus']
来自ast module:
ast。 literal_eval ( node_or_string )
安全地评估包含Python表达式的表达式节点或Unicode或 Latin-1 编码的字符串。提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和无。
这可用于安全地评估包含来自不受信任来源的Python表达式的字符串,而无需自己解析值。