有人能解释一下mylist[a][b]在这段Python代码中的作用吗?


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