gpt4 book ai didi

python - 在Python中按顺序从多个数组中获取最小数组

转载 作者:行者123 更新时间:2023-11-30 23:45:22 24 4
gpt4 key购买 nike

假设我有 4 个 numpy 数组 [1,2,3] [2,3,1] [3,2,1] [1,3,2]

在这种情况下,我确定 [1,2,3] 是出于我的目的的“最小数组”,因为它是在索引 0 处具有最小值的两个数组之一,并且在这两个数组中,它具有最低索引 1。如果有更多具有相似值的数组,我需要比较下一个索引值,依此类推。

如何以相同的顺序从堆中提取数组 [1,2,3]?

如何将其扩展到大小为 n 的 x 数组?

谢谢

最佳答案

在列表列表(不是numpy数组)上使用python非numpy .sort()或sorted()会自动执行此操作,例如

a = [[1,2,3],[2,3,1],[3,2,1],[1,3,2]]
a.sort()

给出

[[1,2,3],[1,3,2],[2,3,1],[3,2,1]]

numpy 排序似乎只对子数组进行递归排序,因此最好的方法似乎是首先将其转换为 python 列表。假设您有一个数组,您想要选择其中的最小值,则可以得到最小值

sorted(a.tolist())[0]

正如有人指出的,您也可以执行 min(a.tolist()) ,它使用与排序相同类型的比较,并且对于大型数组会更快(线性 vs n log n 渐近)运行时间)。

关于python - 在Python中按顺序从多个数组中获取最小数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9538171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com