Нужно вывести наибольшее число из массива, если их несколько равных вывести все

Нужно вывести наибольшее число из массива, если их несколько равных вывести все

Например из

X=[1,2,3,2,3]
Y=[3, 3]

или

X=[4,5,6]
Y=[6]

или

X=[1,2,3,3,2,3]
Y=[3, 3,3]

Мой код

Y=(X.pop(X.index(max(X))),X.pop(X.index(max(X)))) 

Но я видимо не туда пошёл, у меня не получается


Ответы (3 шт):

Автор решения: mrBars1k

x - изначальный список;

y - список с результатом;

Список у делаем пустым и далее заполняем по условию. Проходим циклом по первому списку и сравниваем каждый элемент с самым большим числом из списка. Если есть совпадения, то добавляем его в список у.

x = [10, 20, 11, 20, 5, 6, 1]
y = []

for i in x:
    if max(x) == i:
        y += [i]

print(x)
print(y)
→ Ссылка
Автор решения: Egor Z
c = max(x)
return [c] * x.count(c)

Находим максимальное число из списка, и возвращаем количество повторений максимального числа умноженное на само число в списке.

→ Ссылка
Автор решения: CrazyElf

Ладно, раз пишут решения, то вот вам однострочник со списковым сокращением:

print([i for i in X if i == max(X)])
→ Ссылка