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

Wes*_*eld 5 python string list

因此给出了列表的文本表示

['cellular organisms', 'Bacteria', 'Bacteroidetes/Chlorobi group', 'Bacteroidetes',   'Bacteroidia', 'Bacteroidales', 'Bacteroidaceae', 'Bacteroides', 'Bacteroides vulgatus']
Run Code Online (Sandbox Code Playgroud)

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

Mat*_*ttH 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']
Run Code Online (Sandbox Code Playgroud)

来自ast模块:

AST.literal_eval(node_or_string)

安全地评估表达式节点或包含Python表达式的Unicode或Latin-1编码的字符串.提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和None.

这可以用于安全地评估包含来自不可信来源的Python表达式的字符串,而无需自己解析值.