将Python中的打印列表转换回实际列表的最佳方法是什么?

时间:2014-03-11 10:12:36

标签: python string list

所以给出一个列表的文本表示

['cellular organisms', 'Bacteria', 'Bacteroidetes/Chlorobi group', 'Bacteroidetes',   'Bacteroidia', 'Bacteroidales', 'Bacteroidaceae', 'Bacteroides', 'Bacteroides vulgatus']

将此文本转换回python脚本中的实际列表的最简单方法是什么? 分裂真的是最好的方式吗?谢谢!

1 个答案:

答案 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表达式的字符串,而无需自己解析值。