Найдите наибольшее число в списке чисел

Есть ли простой способ или функция для определения наибольшего числа в списке Python? Я мог бы просто закодировать это, так как у меня есть только три числа, однако это сделало бы код намного менее избыточным, если бы я мог сказать самое лучшее с помощью встроенной функции или чего-то в этом роде.


person Chris Foster    schedule 22.06.2010    source источник


Ответы (7)


А как насчет max()

highest = max(1, 2, 3)  # or max([1, 2, 3]) for lists
person Jubal    schedule 22.06.2010
comment
Вот еще один полезный пример: узнать, какая переменная содержит наибольшее число - person cssyphus; 13.09.2018

Вы можете использовать встроенную функцию max() с несколькими аргументами:

print max(1, 2, 3)

или список:

list = [1, 2, 3]
print max(list)

или на самом деле что-нибудь итерируемое.

person cletus    schedule 22.06.2010
comment
Нехорошо называть переменные встроенным ключевым словом Python по умолчанию, которое перезаписывает фактическое ключевое слово (вы должны это знать) :-) - person U11-Forward; 19.10.2018

Этот подход не использует функцию max()

a = [1,2,3,4,6,7,99,88,999]
max_num = 0
for i in a:
    if i > max_num:
        max_num = i
print(max_num)

Также, если вы хотите найти индекс результирующего максимума,

print(a.index(max_num))

Прямой подход с использованием функции max()

Функция max() возвращает элемент с наибольшим значением или элемент с наибольшим значением в итерируемом

Пример: когда вам нужно найти максимум целых чисел/чисел

a = (1, 5, 3, 9)
print(max(a))
>> 9

Пример: когда у вас есть строка

x = max("Mike", "John", "Vicky")
print(x)
>> Vicky

В основном он возвращает имя с наибольшим значением, упорядоченное по алфавиту.

person Chetan_Vasudevan    schedule 29.08.2017
comment
Почему вы никогда не сможете использовать функцию max? - person Chris Foster; 30.08.2017
comment
Поэтому я написал это для тех людей, которые готовятся к интервью, где вопрос состоит в том, чтобы найти максимум списка без использования функции max. Если вы чувствуете, что это подходит для интервью, пожалуйста, проголосуйте. - person Chetan_Vasudevan; 30.08.2017
comment
Если вам нужен индекс максимального, возможно? Затем вы просто включили бы переменную idx в строку for. - person Kit Plummer; 05.03.2019
comment
Не используйте max в качестве имени переменной, потому что это имя встроенной функции. - person wjandrea; 18.07.2020

Используйте 1_

>>> l = [1, 2, 5]
>>> max(l)
5
>>> 
person Chetan    schedule 22.06.2010

max — это встроенная функция в python, которая используется для получения максимального значения из последовательности, т. е. (список, кортеж, набор и т. д.).

print(max([9, 7, 12, 5]))

# prints 12 
person Sanjay Idpuganti    schedule 08.09.2017

Вы можете отсортировать его:

sorted(l,reverse=True)

l = [1, 2, 3]
sort=sorted(l,reverse=True)
print(sort)

Вы получаете:

[3,2,1]

Но все же, если вы хотите получить максимальную отдачу:

print(sort[0])

Вы получаете:

3

если второй макс:

print(sort[1])

и так далее...

person U11-Forward    schedule 19.10.2018
comment
Сортировка списка — более сложная операция O(n log n), чем просто получение максимального значения O(n) - person Allan; 27.06.2019

person    schedule
comment
1) нет причин не делать my_list = sorted([int(raw_input('Пожалуйста, введите число')) для _ в xrange(10)) вместо того, чтобы вводить дополнительные данные. 2) у вас есть список с именем sorted_list, но вы на самом деле его не сортируете 3) В вопросе ничего не говорится о фильтрации только нечетных чисел 4) Что это дает, чего не было в предыдущих ответах 5 лет назад (помимо ответа на вопрос, который не был задан, и в менее элегантной форме) - person Foon; 07.10.2015