利用Python中的zip函数对多个列表进行合并操作
发布时间:2023-06-02 05:19:48
Python中的zip函数是一个内置函数,用于同时迭代多个序列,将每个序列相应位置的元素组合成一个元组。其语法为:
zip(*iterables)
其中,iterables是一个或多个序列,包括列表、元组、字符串等。
zip函数的返回值是一个可迭代对象,其中每个元素是一个元组,包含输入序列中相同位置的元素。如果输入序列长度不同,zip函数将停止在最短序列的末尾。
下面通过几个例子展示zip函数的使用及合并多个列表的方式。
## 例1:合并两个列表
x = [1, 2, 3] y = ['a', 'b', 'c'] z = zip(x, y) print(list(z))
输出结果为:
[(1, 'a'), (2, 'b'), (3, 'c')]
## 例2:合并多个列表
x = [1, 2, 3] y = ['a', 'b', 'c'] z = ['X', 'Y', 'Z'] result = zip(x, y, z) print(list(result))
输出结果为:
[(1, 'a', 'X'), (2, 'b', 'Y'), (3, 'c', 'Z')]
## 例3:利用zip函数对多个列表进行合并
list1 = ['Tom', 'Jerry', 'Alice']
list2 = ['22', '25', '19']
list3 = ['Male', 'Male', 'Female']
list4 = ['2018-01-01', '2018-03-15', '2019-07-26']
result = zip(list1, list2, list3, list4)
for i in result:
print(i)
输出结果为:
('Tom', '22', 'Male', '2018-01-01')
('Jerry', '25', 'Male', '2018-03-15')
('Alice', '19', 'Female', '2019-07-26')
## 注意点
1. 如果合并的列表长度不一致,zip函数将根据最短的列表长度进行合并。例如:
list1 = ['Tom', 'Jerry', 'Alice']
list2 = ['22', '25']
result = zip(list1, list2)
for i in result:
print(i)
输出结果为:
('Tom', '22')
('Jerry', '25')
2. zip函数返回的是可迭代对象,需要使用list函数或for循环进行遍历,才能得到结果。
3. zip函数支持多个序列的合并,只要将多个序列作为参数传入即可。
综上,使用Python中的zip函数可轻松地对多个列表进行合并操作,省去了手动合并的麻烦和出错的风险。
