我的程序中有一个函数可以进行拆分和浮动。 然后将矩阵传递给主程序。 现在,我有一个函数来查找具有最小值的行和列。 在马丁·皮特斯(Martijn Pieters)的帮助下,我获得了最小值,但只有这对。 输出示例如下。 E是从main传递到此函数的平方矩阵。

值存储在txt文件中,并在单独的函数中读取,并将矩阵传递给main。 从它们的矩阵传递到下面的函数。

0 2 8 9
2 4 9 9
4 7 4 8
3 4 8 9

码:

def closest_pair(e):
    '''for row in range(len(e)):
       for col in range(0,len(row),1):
          minrow = min(e[row])
          mincol = min(e[col])
          return ([minrow], [mincol])'''
       result = min((min((v, c) for c, v in enumerate(row)), r) for r, row in enumerate(e))
       return result[1], result[0][1]

这帮助我找到了行和列的最小值,但是输出是得到这对。 同样对于第一个值为0的值,0不会计数,因此,如果(0,0)的值为0,那么该值就不会算作最小值。 这样说,例如,如果第1行和第1列的值是[2,2]作为对,并且是比输出(1,1)唯一的最小对。

===============>>#1 票数:1

你要这个?

>>> def closest_pair(e):
...     remapped = [(e[x][y], (x, y)) for x, row in enumerate(e) for y, col in enumerate(row)]
...     return min(remapped)
... 
>>> a = [[0, 2, 8, 9], [2, 4, 9, 9], [4, 7, 4, 8], [3, 4, 8, 9]]
>>> closest_pair(a)
(0, (0, 0))

要么:

def closest_pair(e):
    return min(
        (e[x][y], (x, y)) 
        for x, row in enumerate(e)
        for y, col in enumerate(row)
    )

  ask by user2287240 translate from so

未解决问题?本站智能推荐:

2回复

在python中找到具有最小值的行和列?

我的程序中有一个函数可以进行拆分和浮动。 然后将矩阵传递给主程序。 现在,我有一个函数来查找具有最小值的行和列。 我正在获取所有值的列表,但没有具有最小值的行和列。 E是从main传递到此函数的平方矩阵。 输入是txt文件,其值如下所示: 预期的输出应为(1、1)或第1行
1回复

在Python + Numpy中找到生成器最小值的按列索引

我有一系列生成向量的生成器,例如: 我想生成一个包含矩阵的行索引的向量,该向量由上述生成器创建,其中包含最小值。 到目前为止,我已经使用numpy实现了: 当然,这太慢了(至少对于我的应用程序而言)。 我想知道是否有更快的方法! 我期望找到一种方法来执行此操作,就像
1回复

在Python中找到一列的最大和最小值以及其他两列的差异

我正在一张名为kpi的表上工作,我需要使用每周每个BoxID的最小编号和最大编号来计算每个BoxID 每周 (最新B1-最早B0)的差,因此您需要使用编号的最小值使用相应的B0,编号的最大值使用相应的B1,然后求出差值。 -我在R的帮助下进行了编码,但是现在我也需要Python中的代码。
1回复

从df中找到最大值和最小值,以及相应的列和行名称

我有一个类似于的数据框: 如何在数据框中找到最大值及其对应的列和行名? 例如,我想返回:(d,d,16)我也想对最小值做同样的事情,所以返回:(a,a,1)
3回复

如何在python中找到最大值和最小值

我从键值对列表中找到最大值和最小值。 为此,我编写了以下for循环代码: 我想要这样的输出: Y的最大值= X的最大值= Z的最大值= 但这是这样打印三遍: 我想要MaxX,MaxY,MaxZ中的值作为最大值。
3回复

在numpy数组的列元素中找到最小值,并将对应的行存储为新数组

我有一个如下的numpy数组,我想制作一个新的numpy数组,该数组的最后一行的最小值为xx[:,4] 。 我知道我们可以使用np.min(xx[:,4])在最后一列中获得3.33260017e-01 。 但是,我需要提取相应行中的所有值,这将是 [3.54827629e-01
2回复

NumPy:在子矩阵/块以及相应的行,列索引中找到最小值

给定一个由维度(nxn)的子矩阵组成的方阵M(mxm),其中mxm取nxn == 0的模,将从每个子矩阵返回所有最小值的矩阵。 例如M:(4x4) 每个子矩阵m为2x2,最小值返回如下: 我试图重塑数组并调用min(),但它只允许您跨一个轴这样做。 另外,我也想获得最
2回复

在python中找到两个局部最小值

我有一个t值列表。 我寻找最小值的代码如下: 我的t值每次都会更改,因此最小值可能出现在开始或结尾处,在这种情况下此代码将无法工作。 因此,我需要一个适用于t值范围的通用代码。
4回复

在二叉树中找到最小值,Python

我正在尝试编写一个返回二叉树而不是二叉搜索树中最小值的函数。 这是我写的,这是不正确的。 我觉得我不太了解递归。 我似乎无法弄清楚何时在递归调用中使用return语句,何时不使用。 感谢您的见解! 这是我想出的另一种方法,它可以工作,但是效率似乎最高: 思考?
5回复

在字典中找到最小非零值(Python)

我有一本字典,我想获得其值为最小非零值的密钥。 例如给出输入: 它将返回2。