在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函数将来自同一索引的每个列表中的元素组合在一起,然后移至下一个索引。当您要一起保存列表中位于相同索引位置的元素时,这种类型的附加很有用。

示例

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模块的链功能可以将列表中的元素放在一起,以保留它们出现的顺序。

示例

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]