给出以下列表:
l1 = [0,1000,5000,10000,20000,30000,40000,50000]
我知道我可以通过查看每一对连续的数字来创建一大块:
def chunker(seq, size):
return (seq[pos:pos + size] for pos in range(0, len(seq), size))
for group in chunker(l1, 2):
print(group)
这将返回:
[0, 1000]
[5000, 10000]
[20000, 30000]
[40000, 50000]
如何确保重叠的间隔,例如[1000,5000]
,也包括在内?你知道吗
预期产量:
[0, 1000]
[1000, 5000]
[5000, 10000]
[10000, 20000]
[20000, 30000]
[30000, 40000]
[40000, 50000]
嗨,你只需要删除足迹:
一种方法是将列表理解与^{} 一起使用:
或者使用您的方法,但是在
range
中设置一个1
(这也是默认的步长)的步长:不必要地使用步长在范围内迭代。这样可以防止组从另一个组结束的地方开始。此代码应适用于:
输出为:
你可以跳过最后一个元素,如果这是你想要的,但取决于你的要求。你知道吗
相关问题 更多 >
编程相关推荐