如何从 python 列表 ['(20, [50, 45], [456.6, 5675])'] 中删除外部引号?

how to remove outside quotes from python list ['(20, [50, 45], [456.6, 5675])']?

如何从此列表中删除简单引号:['(20, [50, 45], [456.6, 5675])'] 我花了很多时间寻找解决方案。

我将不胜感激

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])]

使用:

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]