2014-03-07 97 views
2

我到轉換列表中的每個元素的元組類似以下內容:轉換列表中的每個元素的元組

l = ['abc','xyz','test'] 

皈依元組列表:

newl = [('abc',),('xyz',),('test',)] 

其實我已經字典有這樣的鍵,以便用於搜索目的,我需要有這些,提前 感謝

回答

9

您可以使用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',)] 
>>> 

我個人比較喜歡列表理解了這最後的解決方案雖然。

2

只是這樣做:

newl = [(i,) for i in l] 
相關問題