比较同一多维数组的元素

时间:2020-03-03 11:16:12

标签: python python-3.x list

所以我确实有这种格式的多维数组:

Cjk = [[81 51 31] [82 47 54] [34 55 64] [96 73 43]];

如何获取所包含数组的每个索引的最小值。

我想要这个输出:

34 47 31  # these are the minimum values compared to each one values of the same index

我尝试了一些方法,但未成功,因为我必须与I和J一起工作,因为数组Cjk会及时获取更多值,因此需要可扩展性

3 个答案:

答案 0 :(得分:1)

您想在每一列中找到最小值。您可以在此处使用zip

Cjk = [[81 51 31] [82 47 54] [34 55 64] [96 73 43]]
min_cols=[min(lst) for lst in zip(*Cjk)]
# [34, 47, 31]

答案 1 :(得分:1)

您可以这样做

In [21]: list(map(lambda x:min(x),zip(*Cjk)))
Out[21]: [34, 47, 31]

答案 2 :(得分:0)

您可以导入numpy并使用轴参数查找矩阵的最小行和最大行和列。 像本例一样:

import numpy as np

>>> x = -np.matrix(np.arange(12).reshape((3,4))); x

matrix([[  0,  -1,  -2,  -3],
        [ -4,  -5,  -6,  -7],
        [ -8,  -9, -10, -11]])

>>> x.min()

-11
>>> x.min(0)

matrix([[ -8,  -9, -10, -11]])

>>> x.min(1)
matrix([[ -3],
        [ -7],
        [-11]])

选中此https://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.min.html

相关问题