for i in list:
j = i + 1
print i - j
这将打印出list
我想要做的是打印列表中值i和下一个值之间的差异。
我清楚了吗?
答案 0 :(得分:5)
for i in list:
将i
绑定到list
的元素,而不是其索引。你可能意味着
for i in xrange(len(list)):
或
for i, _ in enumerate(list):
然后使用i
获取索引为list[i]
的元素。
(请不要调用列表list
;这是Python内置函数的名称。)
答案 1 :(得分:4)
与JavaScript不同,在Python中迭代序列会产生元素,而不是索引。
for i, j in zip(L, L[1:]):
print j - i
答案 2 :(得分:1)
试试这个:
lst = [1, 2, 3, 4]
for i in xrange(1, len(lst)):
print lst[i-1] - lst[i]
请注意,在for i in list
行中,i
是list
的元素,而不是索引。在上面的代码中,i
确实是一个索引。此外,调用变量list
是一个坏主意(Python使用该名称作为其他内容)。我将其重命名为lst
。