相邻/连接元素数组
我想在数组中找到相连的(相邻的)元素。
比如,在这个数组中:
[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
1 个回答
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]]