这似乎很简单,但我希望尽可能高效地完成这项工作
实际上,我对最高点、最低点、最右点和最左点感兴趣
给定一个类似[[10,2],[0,2],[1,10],[1,0],[2,3],[5,2],[7,2],[7,3],[3,8],[6,1]]
的数组
我已经这样做了
max_x = max([p[0] for p in pts])
min_x = min([p[0] for p in pts])
max_y = max([p[1] for p in pts])
min_y = min([p[1] for p in pts])
但是我不只是需要max_x
值。我需要完整的点,我不希望在列表中重复超过需要的部分(为了大输入的速度)
如果是N维点(每个维度中的最高点和最低点),则可获得额外积分
Numpy就是为这种问题而设计的。它是多维数值数组(规则形状的嵌套列表)的性能实现:
输出:
针对大型网络的列表与阵列的性能比较
使用
key
参数,以便在只比较一项时返回整点您也可以使用单个循环来完成此操作,而不是调用
min()
和max()
max
和min
采用key
参数,在该参数中可以指定用于比较的值使用:
输出:
相关问题 更多 >
编程相关推荐