欢迎访问宙启技术站
智能推送

利用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函数可轻松地对多个列表进行合并操作,省去了手动合并的麻烦和出错的风险。