Я сделал простой код, чтобы найти наибольшее значение из различных списков номеровНайдите второе самое высокое значение из различных списков номеров
lists = [[1,-3,5,2,6,11,78,5,-345,-3,6,98,-5,0],[1,2,3,4,5,6,7,6,5,4,4],[-435,-64,-4,-6,-45,-8,-98,-7,-8],[32,45,56,554,12,33]]
for w in lists:
lst = w
a = float ("-inf")
for x in range (0, len (lst)):
b = lst [x]
if (b > a):
a = b
c = x
z = lst
print ("The list is:",z)
print ("The highest value is: " , a)
print ("The position is:", c+1)
Out:
The list is: [32, 45, 56, 554, 12, 33]
The highest value is: 554
The position is: 4
Но как я знаю, второй, третий и так далее? ?
Я ищу что-то вроде этого:
Out:
The list is: [1,-3,5,2,6,11,78,5,-345,-3,6,98,-5,0]
The second highest value is: 98
The position is: 12
Вы можете заказать его, а затем получить доступ к самому высокому, второй самому высокому, через 'ordered_list [-1], ordered_list [-2]' и т. д. –
Возможный дубликат, http://stackoverflow.com/questions/33486058/python-how-to-find-the-second-highest-number-in-a-list – Rockybilly
Поиск самого большого элемента 'kth' в массиве - это довольно интересная проблема. Сортировка списка - хорошая ставка, но есть 'O (n)' средние решения: http://stackoverflow.com/questions/251781/how-to-find-the-kth-largest-element-in-an -unsorted-array-of-length-n-in-on – dashiell