【发布时间】:2021-07-19 20:13:22
【问题描述】:
我正在尝试将列表理解(用户输入)的字符串转换为实际的列表理解。我正在使用来自 AST 的 literal_eval。
fruits = ['apple', 'orange']
l1 = '[ele for ele in fruits]'
l2 = literal_eval(l1)
print(l2, type(l2))
如果 l1 是列表的字符串,这将有效,但如果它是 listcomp 的字符串,则无效。如果我只使用 eval() 我会在理解后得到列表,['apple','orange']。我希望把 [ele for ele in fruits] 作为一门课。
【问题讨论】:
-
您不能使用
literal_eval()执行此操作。顾名思义,它仅用于评估 literals。列表推导不是文字。 -
“listcomp”不是对象,也不是对象字面量,因此
literal_eval按设计不起作用。使用eval?
标签: python string type-conversion list-comprehension