Получить список самых больших чисел Python
У меня, например, есть список [1, 2, 7, 7], как мне из него получить список самых больших чисел? Чтобы получилось [7, 7].
Я пробовал с помощью heapq.nlargest(n, iterable, key=None), но там необходимо указывать количество элементов. А мне надо чтобы я не зная какое количество повторяющихся самых больших чисел есть в списке, мог получить список с этими самыми числами.
Ответы (4 шт):
Автор решения: n1tr0xs
→ Ссылка
Можно так сделать:
src = [1, 2, 7, 7]
src_max = max(src)
dest = [src_max for i in range(src.count(src_max))]
Автор решения: Muxe1
→ Ссылка
Держи
data = [1, 2, 7, 7]
maxx = max(data)
a = [i for i in data if i == maxx]
Автор решения: Daniil
→ Ссылка
Могу предложить такое решение:
my_list = [1, 2, 7, 7]
max_number = max(my_list)
numbers = my_list.count(max_number)
answer = []
for i in range(numbers):
answer.append(max_number)
print(answer)
P.S Постарался расписать максимально подробно и понятно.
Автор решения: Эникейщик
→ Ссылка
Разве никто не знает, что список можно умножить на число?
n = max(data)
amount = data.count(n)
result = [n] * amount
В одну строчку (хотя и не совсем оптимально, максимум ищется дважды)
result = [max(data)] * data.count(max(data))