Python 中將元組列表轉換為列表


我們可能會遇到元素為元組的列表。但為了進一步的資料處理,我們可能需要將元組轉換為列表的普通元素。在本文中,我們將瞭解實現此目標的方法。

使用列表推導式

在這種方法中,我們設計巢狀的 for 迴圈來遍歷每個元組並生成最終的元素列表。

示例

 即時演示

listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# Given list
print("Given list : \n", listA)
res = [item for t in listA for item in t]
# Result
print("Final list: \n",res)

輸出

執行以上程式碼將得到以下結果:

Given list :
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
Final list:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

使用 itertools

我們還可以使用 itertools.chain 方法以及 * 運算子,它將獲取元組列表中的每個元素,然後將它們組合為列表的一系列元素。

示例

 即時演示

import itertools
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# Given list
print("Given list : \n", listA)
res = list(itertools.chain(*listA))
# Result
print("Final list: \n",res)

輸出

執行以上程式碼將得到以下結果:

Given list :
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
Final list:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

使用 reduce 和 concat

reduce 函式用於將 concat 函式應用於每個列表元素,最終生成包含原始列表所有元素的列表。

示例

 即時演示

import operator
from functools import reduce
listA = [('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
# Given list
print("Given list : \n", listA)
res = (list(reduce(operator.concat, listA)))
# Result
print("Final list: \n",res)

輸出

執行以上程式碼將得到以下結果:

Given list :
[('Mon', 3), ('Wed', 4), ('Fri', 7, 'pm')]
Final list:
['Mon', 3, 'Wed', 4, 'Fri', 7, 'pm']

更新於: 2020年5月20日

717 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告