python 相当于 Ruby 的什么each_slice(count)
?
我想为每次迭代从列表中取出 2 个元素。
像[1,2,3,4,5,6]
我想处理1,2
然后在第一次迭代中3,4
then 5,6
.
当然,还有一种使用索引值的迂回方式。但是有没有直接的函数或某种方式可以直接执行此操作?
有一个recipe为此在itertools 文档称为石斑鱼:
from itertools import izip_longest
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return izip_longest(fillvalue=fillvalue, *args)
像这样使用:
>>> l = [1,2,3,4,5,6]
>>> for a,b in grouper(2, l):
>>> print a, b
1 2
3 4
5 6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)