gpt4 book ai didi

python - 在 Python 中随机获取重复值数组的 3 个最小值

转载 作者:太空宇宙 更新时间:2023-11-04 10:30:40 24 4
gpt4 key购买 nike

我有一个数组 my_array 并且我想要,由于特定原因忽略它的值 -5 和 -10(是的,在下面的示例中没有 -10 但在其他数组中我必须管理是),并获取数组的三个最小值的索引,并将它们附加到名为 lista_indices_candidatos 的新列表中。

这是我的代码。

my_array = [4, -5, 10, 4, 4, 4, 0, 4, 4]
a = np.array(my_array)
indices = a.argsort()
indices = indices[a[indices] != -5]
indices = indices[a[indices] != -10]
lista_indices_candidatos = []
for i in indices[:3]:
lista_indices_candidatos.append(i)
print lista_indices_candidatos

这从数组 [4, -5, 10, 4, 4, 4, 0, 4] 中获取了 3 个最小值 [6, 0, 3] 的索引, 4]

事情是,如果有重复的值,这就是我的前三个最小值(第一个 4 (索引 0) 第二个 4 (索引 3 ), 忽略数组的其余 4

我如何更改代码以完全随机获取三个最小值,而不总是取前三个?

最佳答案

我的数组 = [4, -5, 10, 4, 4, 4, 0, 4, 4]

myUniqueArray = list(set(myArray))

myUniqueArray.sort()

返回 [myArray.index(myUniqueArray[0]), myArray.index(myUniqueArray[1]), myArray.index(myUniqueArray[2])]

.index 不会给你一个随机索引,因为对于一组给定的输入列表,它总是相同的值,但你可以玩那个部分。

关于python - 在 Python 中随机获取重复值数组的 3 个最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26863141/

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