【发布时间】:2016-10-03 20:13:53
【问题描述】:
给定以下列表
a = [0, 1, 2, 3]
我想创建一个新列表b,其中包含a 的当前值和下一个值相加的元素。它将包含比a 少1 个元素。
像这样:
b = [1, 3, 5]
(从 0+1、1+2 和 2+3)
这是我尝试过的:
b = []
for i in a:
b.append(a[i + 1] - a[i])
b
问题是我不断收到此错误:
IndexError: list index out of range
我很确定它会发生,因为当我得到 (3) 的最后一个元素时,我无法将它添加到任何东西,因为这样做超出了它的价值(之后没有价值3 添加)。所以我需要告诉代码在 2 处停止,同时仍然参考 3 进行计算。
【问题讨论】:
-
首先,您追加的行中的右括号在哪里?这应该给你一个
SyntaxError
标签: python list loops python-3.x