Итак, вы можете попробовать эту функцию:
my_list = [3.5, 1.6, 2.4, 5.6, 8.9]
def select_top(a,array):
new_list = []
extra_list = []
for i in range(len(my_list)):
extra_list.append(my_list[i])
final_list = []
for i in range(a):
new_list.append(extra_list.index(max(extra_list)))
extra_list.pop(extra_list.index(max(extra_list)))
new_list = sorted(new_list,reverse=False)
for i in new_list:
final_list.append(array[i])
return final_list
print(select_top(3,my_list))
Я считаю, что это далеко не оптимально, но вы можете настроить его столько, сколько хотите, чтобы получить k верхних чисел и получить ихвернулся в исходном порядке.Выход:
[3.5, 5.6, 8.9]