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']
廣告