在Python中,zip()
函数用于将多个可迭代对象(如列表、元组等)的元素按照顺序依次组合成一个新的可迭代对象(元组的列表),具体用法如下:
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)]
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。