[英]Converting a list of lists to a list of tuples
我有一個清單清單:
[['AB', '132'], ['C D'], ['EFG'], ['HJ K', '2 1']]
我正在嘗試將其轉換為元組列表:
[('AB', '132'), ('C D', ''), ('EFG', ''), ('HJ K', '2 1')]
極其簡單,只需使用列表推導就可以將源項目直接傳遞給內置的元組,從而遍歷源列表並將每個元素轉換為元tuple
:
>>> example = [['AB', '132'], ['C D'], ['EFG'], ['HJ K', '2 1']]
>>> [tuple(i) for i in example]
[('AB', '132'), ('C D',), ('EFG',), ('HJ K', '2 1')]
另外,如果您喜歡函數式編程,請改用map
:
>>> map(tuple, example)
[('AB', '132'), ('C D',), ('EFG',), ('HJ K', '2 1')]
一種可能性是使用map(tuple, l)
:
In [1]: l=[['AB', '132'], ['C D'], ['EFG'], ['HJ K', '2 1']]
In [2]: map(tuple, l)
Out[2]: [('AB', '132'), ('C D',), ('EFG',), ('HJ K', '2 1')]
缺點是在Python 3中,這將返回一個可迭代的列表,而不是列表。 如果必須要有一個列表,則需要將其拼寫為list(map(tuple, l))
(這在Python 2和3中都適用)。
在Python 2和3中都可以使用的另一種方法是使用列表理解:
[tuple(x) for x in l]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.