python-3.x - 为什么我在以下代码中的 max() 函数上出现列表索引错误?
问题描述
我有一个包含以下数据的列表 sRows -
[[500.0, 1.0, 25.0, 15.0], [500.0, 0.75, 30.0, 20.0], [1000.0, 2.0, 25.0, 15.0]]
我的代码是 -
sCols = len(sRows[0])
for r1 in range(sCols):
if r1 < 2:
print("r1 is : " + str(r1))
rMin.append(min(sRows[r1]))
else:
print("r1 is : " + str(r1))
rMin.append(max(sRows[r1]))
我在最后一行收到 IndexError: list index out of range 错误-
rMin.append(max(sRows[r1]))
从打印语句中,我得到的 r1 值是 -
r1 is : 0
r1 is : 1
r1 is : 2
r1 is : 3
有人可以帮助我吗?我花了整整一夜,试图弄清楚并重新检查一切。还是继续收吧。
解决方案
由于 sCols 变量的值为 4,当您将该值传递给 range() 函数时,它将返回的最后一个数字是 3。因此,在最终迭代中 r1 的值是 3。您的列表只有三个元素(3 行),您的 sRows 列表可以拥有的最大索引是 2 而不是 3。因此出现错误!希望它清除。
推荐阅读
- ms-word - MS Word Online (Office 365) 在编辑时保护文档免于另存为和下载
- wordpress - Wordpress rest API 在浏览器上工作,但不适用于 curl
- c++ - 我想我并没有越界,但在解决 leetcode 上的 SURROUNDED REGIONS 问题时仍然出现该错误。请帮帮我
- sql - Postgresql -> 从现在到上个月的值之间的差异
- c# - 接口列表与实现列表
- webpack - 使用 Webpack 将 SASS 文件捆绑到一个 css 中
- php - 如何使用按钮从 SQL 表中获取数据并替换当前表?
- amazon-web-services - 使用 Powershell 删除 s3 Bucket 中超过 14 天的文件
- javascript - Javascript 谷歌图表设置
- python - 函数执行完成后如何让窗口终止