我需要迭代列表中的n个连续元素.例如:
data = [1,2,3,4,5,6,7]
Run Code Online (Sandbox Code Playgroud)
我需要过去:
1 2
2 3
3 4
4 5
Run Code Online (Sandbox Code Playgroud)
要么:
1 2 3
2 3 4
3 4 5
4 5 6
Run Code Online (Sandbox Code Playgroud)
有拉链功能吗?
我不确定你到底在想什么,但试试这个:
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]]
Run Code Online (Sandbox Code Playgroud)
要么:
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
Run Code Online (Sandbox Code Playgroud)