mylist = [ [2,4,1], [1,2,3], [2,3,5] ]
a=0
b=0
total = 0
while a <= 2:
while b < 2:
total += mylist[a][b]
b += 1
a += 1
b = 0
print (total)
我不明白mylist[a][b]
做什么。
我尝试添加print语句并检查每个输出,但我仍然不知道它是做什么的。
我得到的print语句的输出是:(每次循环时打印的输出)
2
4
1
2
2
3
(total)
14
我认为每个输出都是mylist
中列表中的项目,但意识到它不是。我也试着改变列表里面的数字,我还是不明白。有人能给我解释一下吗?
[和]括号之间的对象是一个"列表";一个列表可以由其他列表组成。
当您想从列表中获得特定位置的值时,您可以使用[n]
表示法,其中n
是位置(从0开始)。
如果位置n
的对象也是一个列表,那么您可以再次使用方括号从该子列表中提取项。
因此,如果我有一个列表l = [ [1,2,3], [4,5,6] ]
,那么l[0]
等于[1,2,3]
,因此l[0][1]
等于2。
你发布的代码是循环遍历列表中的列表,然后遍历每个内部列表中的项。
好的,您可以将此代码mylist[a][b]
可视化为(mylist[a])[b]
。所以第一部分将从我的列表中获得位置[a]
的值,然后它将从mylist[a]
中获得位置[b]
的值。例如:
mylist = [ [2,4,1], [1,2,3], [2,3,5] ]
假设a=1
,b=0
如果您想打印mylist[a][b]
。它将首先获得[1,2,3],然后它将获得列表中0位置的值。所以最后的输出应该是1