python-3.x - 我们如何通过增加索引来增加列表的元素?
问题描述
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
错误在哪里?
解决方案
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
推荐阅读
- python - 如何在 m 长列表和 int y 的一行中获取两个输入
- php - 成对函数不同的计算
- r - R根据参考列的最小值或最大值创建包含另一列值的列
- r - 当grid.arrange()时如何对齐我的ggplots?
- powershell - 如何在 windows10 上安装 PlaidMl
- mysql - 仅在第一次匹配时加入 SQL
- android-studio - 要求我创建一个已经存在的“activity_main.xml”文件时出错
- c - 如何修复在 else if 语句中在 C 中检测到的堆栈粉碎?
- c++ - 当变量用于初始化列表时,为什么 C++ 不知道在返回中进行隐式移动?
- java - 我是否可以保证每个使用 JNI 的进程只有一个 JavaVM?