我将列表中的每个元素转换为元组,如下所示:
l = ['abc','xyz','test']
转换为元组列表:
newl = [('abc',),('xyz',),('test',)]
实际上我用这样的键进行了词典,所以为了搜索目的,我需要有这些。
答案 0 :(得分:10)
您可以使用list comprehension:
>>> l = ['abc','xyz','test']
>>> [(x,) for x in l]
[('abc',), ('xyz',), ('test',)]
>>>
或者,如果您使用的是Python 2.x,则可以使用zip
:
>>> # Python 2.x interpreter
>>> l = ['abc','xyz','test']
>>> zip(l)
[('abc',), ('xyz',), ('test',)]
>>>
但是,之前的解决方案在Python 3.x中不起作用,因为zip
现在返回一个zip对象。相反,您需要通过将结果放在list
:
>>> # Python 3.x interpreter
>>> l = ['abc','xyz','test']
>>> zip(l)
<zip object at 0x020A3170>
>>> list(zip(l))
[('abc',), ('xyz',), ('test',)]
>>>
我个人更喜欢列表理解而不是最后一个解决方案。
答案 1 :(得分:2)
这样做:
newl = [(i, ) for i in l]