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

时间:2017-04-27 19:49:20

标签: python list tuples

我有一个包含以下内容的列表:

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

我想从列表中删除引号并将其转换为元组 我试着用

tuple(list1)

但我得到了:

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

OR

我希望输出为:

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

此输出也可以提供帮助:

[('apple','banana'),('orange','cherry')]

2 个答案:

答案 0 :(得分:1)

您应该ast.literal_eval用于此目的,这比eval更安全。

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

答案 1 :(得分:-2)

In [1]: l = ["('apple','banana')","('orange','cherry')"]
In [2]: map(eval, l)
Out[2]: [('apple', 'banana'), ('orange', 'cherry')]