我想在数组中找到连接(相邻)元素。
例如,在数组中:
[1,2,3,4,5]
要访问所有2个连接的元素,输出将是:
1,2
2,3
3,4
4,5
要访问所有3个连接的元素,输出将是
1,2,3
2,3,4
3,4,5
因此,作为输入,我有一个数组和一个n个相邻元素的值,并且需要生成所有的情况
使用基本for循环:
for x in xrange(n):
我可以得到数组索引的所有值,但我不确定如何获取下一个元素(使用while循环遇到问题,因为最后一个索引不会有任何相邻元素)
(我在想什么)
array = [1,2,3,4,5]
answer = []
for x in xrange(n):
while len(answer) < adjacent_value:
answer.append(array[x])
x+=1
答案 0 :(得分:3)
def grouper(input_list, n):
return [input_list[i:i + n] for i in range(len(input_list) + 1 - n)]
print grouper([1, 2, 3, 4, 5], 3)
# [[1, 2, 3], [2, 3, 4], [3, 4, 5]]
print grouper([1, 2, 3, 4, 5], 2)
# [[1, 2], [2, 3], [3, 4], [4, 5]]