python - 令人费解的python索引错误

标签 python python-2.7

这里是一段python代码(“result”是之前创建的嵌套列表)

for i in range(len(result)-1):
    try:
        result[i][3]=0
        result[i+i][0]=0
    except IndexError:
        print "fail", result[i][3], result[i+1][0], i, len(result)
return result

令我惊讶的是,它经常打印“失败”(i 的非显示值,len(result),例如 24、31)。怎么可以

result[i][3]=0
result[i+i][0]=0

产生 IndexError 异常,如果

print result[i][3], result[i+1][0]

不是吗?

最佳答案

您正在访问索引 i + i不是 i + 1:

result[i+i][0]=0

这意味着当您到达 i//2 + 1 时,无论列表的大小如何,您都会遇到索引错误。

关于python - 令人费解的python索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12903320/

相关文章:

python - 在 Windows 上将 Python 添加到 PATH

python - sqlalchemy 关系隐式诱导连接

Python:如何在请求中使用 Chrome cookie

python - FOR 循环应该产生多个结果,但只产生一个

Python - 如果字符串元素本身包含空格,如何用空格分割?

python - 两个常量字符串之间的正则表达式匹配文本

python - 需要相同昂贵设置的一组相关功能

python - 关闭不传递值。 python 3

python - 使用 txt 文件中的多个根元素创建 xml

python - 有没有一种简单的方法可以在 Python 中操作 XML 文档?