首页 > 解决方案 > 矩阵中列的最大值列表(没有 Numpy)

问题描述

我试图在没有 Numpy 的情况下获取矩阵中列的最大值列表。我正在尝试编写大量代码,但找不到想要的输出。

这是我的代码:

list=[[12,9,10,5],[3,7,18,6],[1,2,3,3],[4,5,6,2]]

list2=[]

def maxColumn(m, column):   
    for row in range(len(m)):
        max(m[row][column])  # this didn't work
        x = len(list)+1 
    for column in range(x):
        list2.append(maxColumn(list, column))

print(list2)

这是想要的输出:

[12, 9, 18, 6]

标签: pythonpython-3.xmatrixmax

解决方案


Python 有一个内置函数zip,允许您转置1列表列表:

L = [[12,9,10,5], [3,7,18,6], [1,2,3,3], [4,5,6,2]]

def maxColumn(L):    
    return list(map(max, zip(*L)))

res = maxColumn(L)

[12, 9, 18, 6]

1官方说明zip

创建一个迭代器,聚合来自每个可迭代对象的元素。


推荐阅读