我需要迭代列表中的n个连续元素.
例如:
data = [1,2,3,4,5,6,7]
我需要过去:
1 2
2 3
3 4
4 5
要么:
1 2 3
2 3 4
3 4 5
4 5 6
有拉链功能吗?
最佳答案 我不确定你到底在想什么,但试试这个:
data = [1, 2, 3, 4, 5, 6, 7]
n = 3
[data[i:i+n] for i in range(len(data) - n + 1)]
# [[1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6], [5, 6, 7]]
要么:
f = lambda data, n: [data[i:i+n] for i in range(len(data) - n + 1)]
for x, y, z in f([1, 2, 3, 4, 5, 6, 7], 3):
print x, y, z