Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从列表中删除引号以将其转换为元组_Python_List_Tuples - Fatal编程技术网

Python 如何从列表中删除引号以将其转换为元组

Python 如何从列表中删除引号以将其转换为元组,python,list,tuples,Python,List,Tuples,我有一份清单,其中包括: ["('apple','banana')","('orange','cherry')"] [('apple','banana'),('orange','cherry')] 我想从列表中删除引号并将其转换为元组 我试着用 tuple(list1) 但我得到了: ("('apple','banana')", "('orange','cherry')") 或 我希望输出为: ('apple','banana'),('orange','cherry') 此外,该输出

我有一份清单,其中包括:

["('apple','banana')","('orange','cherry')"]
[('apple','banana'),('orange','cherry')]
我想从列表中删除引号并将其转换为元组 我试着用

tuple(list1)
但我得到了:

 ("('apple','banana')", "('orange','cherry')")

我希望输出为:

('apple','banana'),('orange','cherry')
此外,该输出还可以帮助:


为此,您应该使用
ast.literal\u eval
,这比
eval
更安全

>>> import ast
>>> x = ["('apple','banana')","('orange','cherry')"]
>>> [ast.literal_eval(i) for i in x]
[('apple', 'banana'), ('orange', 'cherry')]

你最初是如何制作出这样一份清单的
import ast
然后
[ast.literal\u eval(t)for t in inputlist]
将每个元素转换为元组,但您可能首先要避免陷入这个困境。我有一个格式为[a、b、c、d,…]的城市列表。我想建立一个可以从任何地方访问的城市网络,比如从b到a,从c到b,从c到a等等。为了建立这样一个网络,我需要一个元组。因此,我需要它从list转换为tupleSlowly,不再使用
eval()
。该功能的实际用例很少。这不是其中之一。ast.literal\u eval可以替换为..,但反之亦然。这是因为
eval()
是一把瞄准脚的枪,而
ast.literal\u eval()
是一种只解析文字的非常精确的工具。
>>> import ast
>>> x = ["('apple','banana')","('orange','cherry')"]
>>> [ast.literal_eval(i) for i in x]
[('apple', 'banana'), ('orange', 'cherry')]