繁体   English   中英

IndexError:循环中的列表索引超出范围

[英]IndexError: list index out of range in a loop

我有一个 3D 数组。 我想提取第三个元素。 例如,这里我想打印 6、9、20。但是 Python 抛出了这个错误。

values = [
    [[0, 6], [0, 9], [0, 20]],
    [[1, 2], [1, 4], [1, 9 ]]]
i=0
for j in range(0,len(values[i])):
   print(values[i][i][j])

不知道哪里出了问题,因为 print(values[0][0][1]) 工作正常并给出 6 应该的

在这里len(values[i])为 3,因此range(0, len(values[i])为您提供值 0,1,2 并且 [0,6] 的长度为 2 并且您无法访问具有索引的元素2

因此它会给你索引超出范围的错误

j in for j in range(0,len(values[i]))的值变为 0,1,2 但是当 j 的值为 2 并且运行values[i][i][j]并且i=0时代码运行values[0][0][2] ,这超出了 [0,6] 的范围值

打印 6、9、20。可以使用以下代码块:

values = [[[0, 6], [0, 9],[ 0, 20]], [[1, 2], [1, 4], [1, 9]]]
for j in range(len(values[0])):
    print(values[0][j][1])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM