同时迭代多个序列-华为云大数据中台架构分享

时间:2024-07-01 05:00:26
【文件属性】:

文件名称:同时迭代多个序列-华为云大数据中台架构分享

文件大小:5.68MB

文件格式:PDF

更新时间:2024-07-01 05:00:26

Python cookbook 中文 参考

4.11 同时迭代多个序列 问题 你想同时迭代多个序列,每次分别从一个序列中取一个元素。 解决方案 为了同时迭代多个序列,使用 zip() 函数。比如: >>> xpts = [1, 5, 4, 2, 10, 7] >>> ypts = [101, 78, 37, 15, 62, 99] >>> for x, y in zip(xpts, ypts): ... print(x,y) ... 1 101 5 78 4 37 2 15 10 62 7 99 >>> zip(a, b) 会生成一个可返回元组 (x, y) 的迭代器,其中 x 来自 a,y 来自 b。 一旦其中某个序列到底结尾,迭代宣告结束。 因此迭代长度跟参数中最短序列 长度一致。 >>> a = [1, 2, 3] >>> b = ['w', 'x', 'y', 'z'] >>> for i in zip(a,b): ... print(i) ... (1, 'w') (2, 'x') (3, 'y') >>> 如果这个不是你想要的效果,那么还可以使用 itertools.zip_longest() 函数来代 替。比如: >>> from itertools import zip_longest


网友评论