首页 > 解决方案 > 嵌套循环内的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

标签: python

解决方案


row并且col不会更新,因为该if语句从未执行过。带有变量的循环j需要基于 的长度a[i],而不是a,因为a它的长度为 2,而其中的每个列表的长度为 5。有了这个限制,它就找不到6元素。


推荐阅读