Python中zip_longest()函数的使用方法
发布时间:2023-06-10 05:52:49
Python中的zip_longest()函数是内置模块itertools中的一个函数,可用于对多个序列进行迭代操作。与zip()类似,zip_longest()函数可以将多个序列中的元素合并在一起,并返回一个迭代器。不同之处在于,zip_longest()可以处理多个序列长度不一样的情况,缺失的值用fillvalue填充,默认为None。
zip_longest(iterable1, iterable2,..., fillvalue=None)
参数说明:
iterable1,iterable2,...: 表示需要进行迭代的序列,可以有多个。
fillvalue: 填充值,用于处理序列长度不同的情况,默认为None。
使用示例:
1.对两个序列进行迭代,当其中一个序列元素全部迭代完时,使用fillvalue填充:
from itertools import zip_longest
a = [1, 2, 3]
b = ['a', 'b']
c = zip_longest(a, b, fillvalue = 0)
for i in c:
print(i)
# 输出:
# (1, 'a')
# (2, 'b')
# (3, 0)
2.对两个序列进行迭代,当其中一个序列元素全部迭代完时,不使用fillvalue填充:
from itertools import zip_longest
a = [1, 2, 3]
b = ['a', 'b']
c = zip_longest(a, b)
for i in c:
print(i)
# 输出:
# (1, 'a')
# (2, 'b')
# (3, None)
3.对三个序列进行迭代,包含长度不一样的序列:
from itertools import zip_longest
a = [1, 2, 3]
b = ['a', 'b']
c = [4, 5]
d = zip_longest(a, b, c, fillvalue = 0)
for i in d:
print(i)
# 输出:
# (1, 'a', 4)
# (2, 'b', 5)
# (3, 0, 0)
总之,zip_longest()函数的使用方式与zip()类似,但是它可以处理长度不一的序列迭代,填充缺失的元素,非常实用。
