我要检查行和列是否相同 - python

我想检查第一行是否等于第一列,第二行是否等于第二列,依此类推。如果矩阵等于其转置。

我尝试使用以下代码解决问题,但该函数未返回任何内容。有人可以帮我弄这个吗

x = [[1, 2, 3],
     [2, 3, 4],
      [3, 4, 1]]

def rows(matrix):
    list = [val for val in matrix]
    list1 = [i for i in zip(*matrix)]
    if list == list1:
        return True
    else:
        return False

rows(x)

python大神给出的解决方案

zip函数返回一个元组列表:

>>> x = [[1, 2, 3],
         [2, 3, 4],
         [3, 4, 1]]
>>> zip(*x)
[(1, 2, 3), (2, 3, 4), (3, 4, 1)]
>>> x == zip(*x)
False

即使列表具有相同的元素,它也不等于元组。即使内部列表/元组包含相同的元素,列表的列表也不等于元组的列表。您可以轻松地完成自己想做的事情,并且与您很接近!

>>> x == [list(i) for i in zip(*x)]
True