【发布时间】:2020-05-26 07:41:03
【问题描述】:
如何从该列表中删除简单引号:['(20, [50, 45], [456.6, 5675])']
我花了很多时间寻找解决方案。
我会很感激的。
【问题讨论】:
-
这只是一个列表,其唯一元素是字符串。我认为“删除引号”的想法没有多大意义,我不确定你到底在问什么。
如何从该列表中删除简单引号:['(20, [50, 45], [456.6, 5675])']
我花了很多时间寻找解决方案。
我会很感激的。
【问题讨论】:
用途:
my_list = ['(20, [50, 45], [456.6, 5675])']
from ast import literal_eval
list(map(literal_eval, my_list))
#[(20, [50, 45], [456.6, 5675])]
如果不是所有的 str 都可能失败,那么:
my_list = ['(20, [50, 45], [456.6, 5675])',1]
list(map(lambda x: literal_eval(x) if isinstance(x,str) else x,my_list))
#[(20, [50, 45], [456.6, 5675]), 1]
【讨论】:
IIUC,我们可以使用 ast 库中的文字 eval。
from ast import literal_eval
new_list = [literal_eval(i) for i in your_list]
print(new_list)
[(20, [50, 45], [456.6, 5675])]
【讨论】: