Нужно вывести наибольшее число из массива, если их несколько равных вывести все
Нужно вывести наибольшее число из массива, если их несколько равных вывести все
Например из
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)])