我有一个任意长度的列表,我需要将它分成大小相等的块,并对其进行操作。有一些明显的方法可以做到这一点,比如保留一个计数器和两个列表,当第二个列表填满时,将其添加到第一个列表中,并清空第二个列表以获得下一轮数据,但这可能非常昂贵
我想知道是否有人对任何长度的列表都有很好的解决方案,例如使用生成器
我在itertools
中寻找有用的东西,但找不到任何明显有用的东西。但我可能错过了
相关问题:What is the most “pythonic” way to iterate over a list in chunks?
Tags:
如果你想要超简单的东西:
在Python2.x中使用
xrange()
而不是range()
我知道这有点陈旧,但还没有人提到^{} :
这是一个生成器,可以生成您想要的块:
如果您使用的是Python 2,那么应该使用
xrange()
而不是range()
:此外,您还可以简单地使用列表理解而不是编写函数,不过最好在命名函数中封装这样的操作,以便代码更易于理解。Python 3:
Python 2版本:
相关问题 更多 >
编程相关推荐