当前位置:首页 > 行业动态 > 正文

python中zip函数的用法讲解

Python中的zip函数用于将两个或多个可迭代对象(如列表、元组等)的元素按照顺序依次组合成一个新的可迭代对象(元组)。

在Python中,zip()函数用于将多个可迭代对象(如列表、元组等)的元素按照顺序依次组合成一个新的可迭代对象(元组的列表),具体用法如下:

python中zip函数的用法讲解  第1张

1、基本用法

zip()函数接受任意数量的可迭代对象作为参数,返回一个元组的列表,如果输入的可迭代对象长度不一致,那么返回的元组列表的长度以最短的可迭代对象为准。

示例:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
result = zip(list1, list2)
print(list(result))  # 输出:[(1, 'a'), (2, 'b'), (3, 'c')] 

2、使用*操作符解压

当需要将zip()函数返回的元组列表解压为多个单独的可迭代对象时,可以使用*操作符。

示例:

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
zipped = zip(list1, list2)
unzipped_lists = zipped * 2  # 相当于 zipped + zipped
print(list(unzipped_lists))  # 输出:[(1, 'a'), (2, 'b'), (3, 'c'), (1, 'a'), (2, 'b'), (3, 'c')] 

3、使用itertools.zip_longest()处理长度不一致的情况

当输入的可迭代对象长度不一致时,可以使用itertools.zip_longest()函数来处理,该函数会用指定的填充值(默认为None)填充较短的可迭代对象。

示例:

import itertools
list1 = [1, 2, 3]
list2 = ['a', 'b']
result = itertools.zip_longest(list1, list2)
print(list(result))  # 输出:[(1, 'a'), (2, 'b'), (3, None)] 
0