Getting error "TypeError: 'int' object is not iterable"

Getting error "TypeError: 'int' object is not iterable"

    matrix = [
    [3,6,3],
    [6,8,5],
    [8,5,9],
]

for lists in matrix:
    for numbers in lists:
        print(max(numbers)

我想编写一个代码来找出矩阵中最大的数字,但是我得到了一个我无法弄清楚的奇怪错误。这是错误

  File "C:/Users/AK/PycharmProjects/pythonProject2/main.py", line 9, in <module>
    print(max(numbers))
TypeError: 'int' object is not iterable

我该如何解决这个问题?

您的困惑似乎来自变量名称的语义。例如,看看这个:

for lists in matrix:

你的matrix是一个“列表的列表”,这是真的。那么matrix里面的每一项都不应该叫“列表”,应该叫“列表”。让我们看看它会将我们带向何方:

for list in matrix:
    for numbers in list:

同样的事情。 每个元素不是一个“数字”,而是一个“数字”:

for list in matrix:
    for number in list:
        print(max(number))

现在问题变得很清楚了。找到一个“数字”的最大值是没有意义的。因为只有一个号。您可以打印号码:

for list in matrix:
    for number in list:
        print(number)

但是您似乎想要实现的是在每个 list 中找到最大值。回到现在更清晰的语义,你会在 list 对象上这样做:

for list in matrix:
    print(max(list))