鱼C论坛

 找回密码
 立即注册
查看: 3583|回复: 5

[已解决]列表的嵌套里报错

[复制链接]
发表于 2022-8-12 18:14:13 | 显示全部楼层 |阅读模式
1鱼币
AEMQI[{_NIU7882(VN2T6LW.png
学到这里的时候试着把小甲鱼写的重新写了一下。
a=[]
a=[0]*3
for i in range(1,4) :
    a[i]=[0]*3
    print(a)
结果报错了
Traceback (most recent call last):
  File "C:/Users/ASASAWQ/Desktop/kuo hao he fa yu fou de cheng xu.py", line 4, in <module>
    a=[0]*3
IndexError: list assignment index out of range
求助
[/i]
最佳答案
2022-8-12 18:14:14
本帖最后由 jackz007 于 2022-8-13 00:01 编辑

        试一试这个代码呢?
【代码1】:
a = [0] * 3
for i in range(3):    # 列表 a 含有 3 个元素,索引范围为 0 ~ 2,所以,循环范围必须写成 range(3),而不可写成 range(1 , 4),这是索引超出的根本原因
    a[i] = [0] * 3
print(a)

【代码2】:
a = [0] * 3
a = [a] * 3
print(a)

【代码3】:
a = [[0] * 3] * 3
print(a)

【代码4】:
d , k = [] , 1
for i in range(3):
    e = []
    for j in range(3):
        e . append(k)
        k += 1
    d . append(e)
print(d)

【代码5】:
d = [[k for k in range(i , i + 3)] for i in range(1 , 8 , 3)]
print(d)

最佳答案

查看完整内容

试一试这个代码呢? 【代码1】: 【代码2】: 【代码3】: 【代码4】: 【代码5】:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-12 18:14:14 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-8-13 00:01 编辑

        试一试这个代码呢?
【代码1】:
a = [0] * 3
for i in range(3):    # 列表 a 含有 3 个元素,索引范围为 0 ~ 2,所以,循环范围必须写成 range(3),而不可写成 range(1 , 4),这是索引超出的根本原因
    a[i] = [0] * 3
print(a)

【代码2】:
a = [0] * 3
a = [a] * 3
print(a)

【代码3】:
a = [[0] * 3] * 3
print(a)

【代码4】:
d , k = [] , 1
for i in range(3):
    e = []
    for j in range(3):
        e . append(k)
        k += 1
    d . append(e)
print(d)

【代码5】:
d = [[k for k in range(i , i + 3)] for i in range(1 , 8 , 3)]
print(d)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-12 18:36:18 | 显示全部楼层
我这边没有报错啊,你发个图片过来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-12 18:56:38 | 显示全部楼层
临时号 发表于 2022-8-12 18:36
我这边没有报错啊,你发个图片过来看看

代码和报错的内容都在上面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-12 20:29:40 | 显示全部楼层
a=[]
a=[0]*3
for i in range(1,4) :
    a=[0]*3
    print(a)


[0, 0, 0]
[0, 0, 0]
[0, 0, 0]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-21 10:23:25 | 显示全部楼层
本帖最后由 乜天-轩 于 2022-11-21 10:26 编辑

空列表好像坐标不能超范围不是[code]a = [1, 2]
b = a[0]*3
for i in range(1, 4):
    print(b)
a中值你可以换一下
而且你愿回来的我也没报错。
[0, 0, 0]
[0, 0, 0]
[0, 0, 0]

进程已结束,退出代码0
这是我的输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 03:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表