更有效地获取两个向量中的最小向量

2024-10-02 20:38:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从两个给定的向量中找出smalles向量。 我想在Python3中使用numpy。 我所想到的是,由于不必要地重塑阵列,效率有点低。 有没有比我自己的解决方案更有效或至少更优雅的方法

我找到最小向量的方法: 输入是一些排序结构,其中存储了两个不同的向量

def find_smallest(construct1, construct2):
    a = np.append(construct1.lower, construct2.lower)
    b = np.reshape(a, (-1,2))
    c = np.amin(b, axis=0)
    return c

输入为:

a = Construct(lower = [0,0], upper = [1,1])
b = Construct(lower = [1,1], upper = [11,11])
find_smallest(a, b)

我期望的结果是:

[0 0]

这就是Construct-类的外观:

class Construct:

  def __init__(self, lower = [], upper, = []):
    self.__lower = np.array(lower)
    self.__upper = np.array(upper)

  @property
  def lower(self):
     return self.__lower

  @property
  def upper(self):
    return self.__upper

Tags: 方法selfreturndefnppropertyfindconstruct