Python中同時追加多個列表


在Python中進行各種資料分析工作時,我們可能需要將許多Python列表組合成一個列表。這將有助於將其作為單個輸入列表處理程式的其他部分所需的資料。透過減少進一步處理資料所需的迴圈次數,它可以提高效能。

使用+運算子

+運算子可以直接將列表連線在一起。我們只需在列表名稱之間應用運算子,最終結果將儲存在更大的列表中。列表中元素的順序將被保留。

示例

 線上演示

listA = ['Mon', 'Tue', 'Wed']
listB = ['2 pm', '11 am','1 pm']
listC = [1, 3, 6]

# Given lists
print("Given list A: " ,listA)
print("Given list B: " ,listB)
print("Given list C: ",listC)

# using + operator
res_list = listA + listB + listC

# printing result
print("Combined list is : ",res_list)

輸出

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

Given list A: ['Mon', 'Tue', 'Wed']
Given list B: ['2 pm', '11 am', '1 pm']
Given list C: [1, 3, 6]
Combined list is : ['Mon', 'Tue', 'Wed', '2 pm', '11 am', '1 pm', 1, 3, 6]

使用zip

zip函式將來自每個列表的相同索引的元素組合在一起,然後移動到下一個索引。當您希望將列表中相同索引位置的元素組合在一起時,這種追加方法很有用。

示例

 線上演示

listA = ['Mon', 'Tue', 'Wed']
listB = ['2 pm', '11 am','1 pm']
listC = [1, 3, 6]

# Given lists
print("Given list A: " ,listA)
print("Given list B: " ,listB)
print("Given list C: ",listC)

# using zip
res_list = list(zip(listA,listB , listC))

# printing result
print("Combined list is : ",res_list)

輸出

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

Given list A: ['Mon', 'Tue', 'Wed']
Given list B: ['2 pm', '11 am', '1 pm']
Given list C: [1, 3, 6]
Combined list is : [('Mon', '2 pm', 1), ('Tue', '11 am', 3), ('Wed', '1 pm', 6)]

使用itertools.chain

來自itertools模組的chain函式可以將列表的元素組合在一起,同時保留它們出現的順序。

示例

 線上演示

from itertools import chain

listA = ['Mon', 'Tue', 'Wed']
listB = ['2 pm', '11 am','1 pm']
listC = [1, 3, 6]

# Given lists
print("Given list A: " ,listA)
print("Given list B: " ,listB)
print("Given list C: ",listC)

# using chain
res_list = list(chain(listA, listB, listC))

# printing result
print("Combined list is : ",res_list)

輸出

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

Given list A: ['Mon', 'Tue', 'Wed']
Given list B: ['2 pm', '11 am', '1 pm']
Given list C: [1, 3, 6]
Combined list is : ['Mon', 'Tue', 'Wed', '2 pm', '11 am', '1 pm', 1, 3, 6]

更新於:2020年5月13日

8K+瀏覽量

啟動您的職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.