首页 > 解决方案 > 我们如何通过增加索引来增加列表的元素?

问题描述

b = [3,2,6]
hid = []

#print(b[0] * b[1])
#print(b[1] * b[2])
#print(b[2] * b[3])
for n in range(len(b)):
    print(b[n-1] * b[n])

我期待的结果是

6, 12

但我越来越

18,  6, 12

错误在哪里?

标签: python-3.x

解决方案


for n in range(len(b)):
    print(b[n-1] * b[n])

在第一次迭代中,当 n =0 你有:

print(b[n-1] * b[n])

什么意思:

print(b[0-1] * b[0])

b[0-1] 会给你列表中的最后一个元素,因为你有

6*3 = 18

你应该这样做:

b = [3,2,6]
hid = []

for n in range(1,len(b)):
    print(b[n-1] * b[n])

range(3) 将生成从 0 到 2 的数字(3 个数字)。您还可以将开始、停止和步长定义为范围(开始、停止、步长)。如果未提供,步长默认为 1。

或者

b = [3,2,6]
hid = []

for n in range(len(b)-1):
    print(b[n] * b[n+1])

输出:

6
12

推荐阅读