已有183人关注
教材视频代码问题
发表在Python图书答疑 2021-11-25 悬赏:1 学分 《零基础学Python》第5章 字符串及正则表达式
是否精华
版块置顶:

room = []

for i in range(1,5):

    room.append([])

    for j in range(1,8):

        room[i-1].append(i*1000+100+j)

        

print(room)

此处有1个问题,room.append([])是设置了4行,i是1-4,相应的room这个变量也应该是1-4行, 为什么还要room[i-1],这样room不是变成3行了?

分享到:
精彩评论 12
fengqing518
学分:53 LV3
2021-12-18
11L

kiku 发表于2021-12-09 14:13

不是i的索引,是room这个列表的索引,根据索引可以定位到列表里面的元素,怎么就跟你讲不明白呢。这段代码好像讲的是一个酒店的例子吧,先定义一个空的列表room好比是整个酒店,然后再添加1 2 3 4四个楼层,再向每个楼层添加房间。结合例子很好理解吧,为什么你就绕不出来呢?循环就是循环,没有索引的减法,循环出的索引是什么就是什么,i-1是索引。room.append([])这个没有索引就是向整个room列表追加值,room[i-1].append(i*1000+100+j)而这个有索引则是向room列表里面索引为i-1的这个元素追加值,再不懂我也不想解释了

好的,明白了,非常感谢!

game99258
学分:2266 LV10
2022-08-09
12L

索引开始和递增位数

首页上一页 12 下一页尾页 12 条记录 2/2页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照