Python如何求二维数组中每一列的最小元素

import random

x =[[random.randint(1,10) for j in range(5)] for i in range(4)]

for i in range(4):

    for j in range(5):

        print("%4d" % (x[i][j]), end="")

    print(end='\n')

我需要在二维数组中找到每一列的最小元素并将它们添加到一个新数组(一维数组)中


Qyouu
浏览 140回答 4
4回答

肥皂起泡泡

您可以使用列表理解来应用于min每一列数据:import randomx =[[random.randint(1,10) for j in range(5)] for i in range(4)]for i in range(4):    for j in range(5):        print("%4d" % (x[i][j]), end="")    print(end='\n')print([min(x[i][j] for i in range(4)) for j in range(5)])示例输出:   8   1   7   6   9   9   2   8   6   8  10   5   3   3   5   1   9   7  10   9[1, 1, 3, 3, 5]

jeck猫

使用np.min(arr_name, axis=1)。

慕田峪4524236

只需在每一列上使用 min 并列出理解。x_new = [min(x_i) for x_i in x]

万千封印

您应该查看 numpy() ,特别是np.min()。然后代码可以是:# Convert 'x' to np array-x_np = np.asarray(x)# Sanity check-x_np'''array([[ 8,  7, 10,  8,  8],       [ 6,  6,  3,  6,  6],       [ 9,  4,  2,  8,  3],       [ 2,  4,  5,  3,  4]])'''# Minimum elements by squashing the columns-np.min(x_np, axis = 1)# array([7, 3, 2, 2])# Minimum elements by squashing the rows-np.min(x_np, axis = 0)# array([2, 4, 2, 3, 3])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python