【发布时间】:2019-01-22 19:54:48
【问题描述】:
我有一个整数列表,我想以连续的顺序相互减去。我希望能够将代码用于任何大小的整数列表,即使我不知道整数的数量。
到目前为止我所做的:
a = [10, 9, 8] # Example list with 3 integers
sub = 0
for i, n in enumerate(a):
sub = a[i] - a[i+1]
print(sub)
我的预期答案是 -7,因为:
10 - 9 = 1
那么 1 - 8 = -7
10 和 9 分别是列表 a 的第一个和第二个元素。我减去它们得到 1。然后我取 1 并从中减去 8(列表的第三个元素)得到 -7。
相反,我收到列表索引超出范围的错误。我知道我为什么会得到这个:因为当i 命中 2 时,i+1 变为 3,并且列表中没有 a[3] 元素。
然而对于如此简单的事情,我似乎无法弄清楚如何获得这样的连续索引,尤其是对于我不知道元素数量的列表。
我该如何解决这个问题?当我得到IndexError 时,我应该只使用try-except 子句和break 吗?
【问题讨论】:
标签: python python-3.x list loops