nums = [1,2,3,4,5]
假设有上面的数组,我们想要一次遍历数组中的 2 个元素,可以怎么写?
函数版本
from itertools import zip_longest def chunk(nums, n, fillvalue=None): args = [iter(nums)] * n return zip_longest(*args, fillvalue=fillvalue)
一句话版本
zip_longest(*[iter(nums)] * n, fillvalue=None)
这里面有两个关键点:
1、 iter 对象能够记住当前的位置。
2、 zip 同时遍历多个数组
如果允许丢掉后面的部分,用 zip 函数也行