|
发表于 2023-8-25 11:03:28
From FishC Mobile
|
显示全部楼层
|阅读模式
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
x=[[[1,2,3]],[[4,5,6]],[[7,8,9]]]
y=copy.deepcopy(x)
x[1][1][1]=0
print(x)
print(y)
结果是
Traceback (most recent call last):
File "/data/user/0/coding.yu.pythoncompiler.new/files/default.py", line 95, in <module>
x[1][1][1]=0
IndexError: list index out of range
[Process completed (code 1) - press Enter
想知道代码为什么报错
请求各位解答,非常感谢。
代码报错是因为`x[1][1][1]`这个索引超出了列表的范围。
在你的代码中,`x`是一个三维列表,其中`x[1]`表示第二个元素,即`[[4,5,6]]`;然后`x[1][1]`表示该元素内的第二个元素,但是它
实际上只有一个元素`[4,5,6]`,因此`x[1][1]`这个索引已经超出了列表的范围。
修改代码如下可以避免该错误:
import copy
x = [[[1,2,3]],[[4,5,6]],[[7,8,9]]]
y = copy.deepcopy(x)
x[1][0][1] = 0
print(x)
print(y)
这样就能正确输出结果:
[[[1, 2, 3]], [[4, 0, 6]], [[7, 8, 9]]]
[[[1, 2, 3]], [[4, 5, 6]], [[7, 8, 9]]]
在修改代码时,将`x[1][1][1]=0`修改为`x[1][0][1]=0`,以确保不会超出列表的范围。
希望能帮助到你!如果还有其他问题,请随时提问。
|
|