把一个列表分成大致相等的部分的最佳方法是什么?例如,如果列表有7个元素,并将其分成2部分,我们希望在一部分中获得3个元素,而另一部分应该有4个元素。
我在找像even_split(L, n)
这样的东西,把L
分成n
部分。
def chunks(L, n):
""" Yield successive n-sized chunks from L.
"""
for i in xrange(0, len(L), n):
yield L[i:i+n]
上面的代码给出了3个块,而不是3个块。我可以简单地转置(遍历这个并获取每个列的第一个元素,调用第一部分,然后获取第二部分并将其放入第二部分,等等),但这会破坏项的顺序。
这是一个可行的方法:
测试:
这就是^{} *的存在理由:
*记入6号房间Zero Piraeus的贷方
您可以简单地将其作为列表生成器编写:
示例:
相关问题 更多 >
编程相关推荐