为了账号安全,请及时绑定邮箱和手机立即绑定

循环遍历二维数组 Python

循环遍历二维数组 Python

Go
繁花如伊 2022-06-07 16:32:40
我对某些事情有点困惑,当我想出这段代码时,我正在循环一个二维数组,只是在试验:result = [["Lucas","5"],["Tim","2"]]count = 0for line in result:    for item in result[count]:        print(item)        count = count + 1我认为这会做的是给我一个结果,Lucas然后2,因为它会转到第一项,然后第二个for循环将通过子列表打印result[0][0],但是一旦它到达子列表的第一项,它会将计数增加到 1,这意味着它将result[1][1]在下一个打印,因为它在一个新的范围内,但是循环随后将转到它所在范围的第二项。但是,这将给出 'Lucas','5' 作为输出。我想当我改变计数时,我认为我正在改变它循环的范围。请向我解释为什么我错了提前感谢您,并很抱歉没有很好地解释这一点。
查看完整描述

3 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

当你这样做

for item in result[count]:

该表达式result[count]仅在循环开始时计算一次。每次循环都不会对其进行评估,因此重新分配count对后续迭代没有影响。它大致相当于:

temp = result[count]
for item in temp:

请记住,您循环使用的值for可能是生成器表达式。这些不能被索引,它们只是计算一系列值。因此,每次都重新评估它们是没有意义的。


查看完整回答
反对 回复 2022-06-07
?
绝地无双

TA贡献1946条经验 获得超4个赞

for line in result:

将循环遍历顶层数组,因此这里有 2 条记录:["Lucas","5"]然后["Tim","2"]

for item in result[count]:

将循环遍历 2 条记录中的每条记录的每个项目,所以

print(item)

将按顺序显示 4 个项目Lucas, 5, Tim, 2

不需要计数,它在这里没有任何用途,并且无论如何都不被任何一个 for 循环使用。


查看完整回答
反对 回复 2022-06-07
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

如果你坚持使用 for 循环,你也可以使用


result = [["Lucas","5"],["Tim","2"]]

count = 0

for line in range(len(result)):

    for item in result[line]:

        print(item)

        count = count + 1

返回:卢卡斯 5 蒂姆 2


查看完整回答
反对 回复 2022-06-07
  • 3 回答
  • 0 关注
  • 587 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号