【发布时间】:2018-02-25 23:07:42
【问题描述】:
我有一个 Python 字符串 (str),即"['Fish & Chips', 'Fast Food', 'Restaurants']"。
如何将此字符串转换为列表?
【问题讨论】:
标签: python-3.x
我有一个 Python 字符串 (str),即"['Fish & Chips', 'Fast Food', 'Restaurants']"。
如何将此字符串转换为列表?
【问题讨论】:
标签: python-3.x
编辑:请参阅snakecharmerb's 以获得eval() 的更安全替代方案。
您似乎正在寻找eval(),它接受一个字符串并将其计算为 Python 表达式:
s = "['Fish & Chips', 'Fast Food', 'Restaurants']"
eval(s)
# ['Fish & Chips', 'Fast Food', 'Restaurants']
type(eval(s))
# list
【讨论】:
虽然eval 有效,但如果输入数据不受信任,则使用safer ast.literal_eval:
>>> import ast
>>> s = "['Fish & Chips', 'Fast Food', 'Restaurants']"
>>> ast.literal_eval(s)
['Fish & Chips', 'Fast Food', 'Restaurants']
【讨论】: