kia*_*asy -1 python for-loop list
说我有一个清单:
alist = [1, 3, -5, 4, 2, -1]
Run Code Online (Sandbox Code Playgroud)
您如何通过向列表中添加下一个值来更改列表中的每个值?因此,例如,第一个值变为4,第二个值变为-2,依此类推...
我正在考虑使用for number in alist: number = number + # what next?。
我该怎么办?
首先,您拥有的是一个元组,而不是一个列表。元组是不可变的,这意味着您无法重新分配其元素
这是一种无需更改原始列表即可创建新列表的方法:
>>> alist
[1, 3, -5, 4, 2, -1]
>>> [i+j for i,j in zip(alist, alist[1:])]
[4, -2, -1, 6, 1]
Run Code Online (Sandbox Code Playgroud)
请注意,您最终减少了一个元素,因为不考虑列表中的最后一个元素
这是一种通过更改原始文件(没有创建新列表)的方法:
for i in range(len(alist)-1):
alist[i] += alist[i+1]
Run Code Online (Sandbox Code Playgroud)
请注意,列表中的最后一个元素保持不变。