擅长:python、mysql、java
<p>我只是在列表的末尾加上了特殊情况。基本上,在列表的开头,您只需要添加右邻居,而在列表的末尾,您只需要添加左邻居。在</p>
<p>所以,我首先附加第一项,即索引0处的值+索引1处的值。在</p>
<p><code>new_list.append(list[0] + list[1])</code></p>
<p>然后,我使用while循环遍历所有中间索引。在</p>
<p>对于其中的每一个,我们都在求<code>list[x - 1] + list[x] + list[x + 1]</code></p>
<p>小心地开始用索引1而不是0来求中间值,因为0已经是特殊大小写了。然后,通过使用一个到<code>len(list) - 1</code>的for循环,确保您没有偏离末尾。对于最后一项,您只需求和<code>list[x - 1] + list[x]</code></p>
<p>以下是全部代码:</p>
<pre><code>def sum_neighbors(list):
new_list = []
new_list.append(list[0] + list[1])
x = 1
while x < len(list) - 1:
new_list.append(list[x - 1] + list[x] + list[x + 1])
x += 1
new_list.append(list[x - 1] + list[x])
return new_list
</code></pre>