嵌套循环内的python变量重新分配不起作用

时间:2019-02-24 04:42:34

标签: python

我正在尝试在嵌套的for循环内重新分配变量。我想获取列表列表中数字6的索引,但是它不起作用。为什么它不起作用,我该如何解决?

代码如下:

row = 0
col = 0
a = [[1, 2, 3, 4, 5], [3, 4, 4, 6, 9]]
for i in range(len(a)):
  for j in range(len(a)):
    if a[i][j] == 6:
      row = i # expect row = 1
      col = j # expect col = 3
print(row) # prints 0
print(col) # prints 0

2 个答案:

答案 0 :(得分:3)

rowcol未更新,因为从未执行过if语句。带有j变量的循环必须基于a[i]而不是a的长度,因为a的长度为2,而其中的每个列表都有一个长度为5。有了这个限制,就找不到6元素。

答案 1 :(得分:1)

您的第二行应在第二维上迭代,因此

  for j in range(len(a[i])):