Знайдіть найбільше число у списку чисел


93

Чи існує простий спосіб чи функція визначити найбільше число у списку пітонів? Я міг би просто кодувати його, оскільки у мене є лише три цифри, однак це зробило б код набагато менш зайвим, якби я міг визначити найбільше за допомогою вбудованої функції чи чогось іншого.

Відповіді:



18

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

print max(1, 2, 3)

або список:

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

або насправді що-небудь повторюване.


3
Не добре називати змінні вбудованим ключовим словом python за замовчуванням, яке замінює фактичне ключове слово ((ви повинні це знати) :-)
U10-Forward

16

Цей підхід не використовує 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

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


2
Чому б ви ніколи не змогли використовувати функцію max?
Кріс Фостер,

3
Тому я написав це для тих людей, які готуються до співбесіди, де питання полягає в тому, щоб знайти максимум списку без використання функції max. Якщо ви вважаєте, що це добре для співбесіди, будь ласка, проголосуйте
Chetan_Vasudevan

2
Якщо вам також потрібен індекс максимуму? Потім ви просто включите idx var у рядок for.
Kit Plummer

1
Не використовуйте maxяк ім'я змінної, тому що це ім'я вбудованого.
wjandrea


2

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

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

# prints 12 

2

Ви можете насправді відсортувати:

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])

і так далі...


1
Сортування списку є більш складною операцією O (n log n), ніж просто отримання максимального значення O (n)
Аллан,

-6
    #Ask for number input
first = int(raw_input('Please type a number: '))
second = int(raw_input('Please type a number: '))
third = int(raw_input('Please type a number: '))
fourth = int(raw_input('Please type a number: '))
fifth = int(raw_input('Please type a number: '))
sixth = int(raw_input('Please type a number: '))
seventh = int(raw_input('Please type a number: '))
eighth = int(raw_input('Please type a number: '))
ninth = int(raw_input('Please type a number: '))
tenth = int(raw_input('Please type a number: '))

    #create a list for variables
sorted_list = [first, second, third, fourth, fifth, sixth, seventh, 
              eighth, ninth, tenth]
odd_numbers = []

    #filter list and add odd numbers to new list
for value in sorted_list:
    if value%2 != 0:
        odd_numbers.append(value)
print 'The greatest odd number you typed was:', max(odd_numbers)

3
1) немає причини не робити my_list = sorted ([int (raw_input ('Будь ласка, введіть число')) для _ у xrange (10)) проти введення зайвих речей. 2) у вас є список з назвою sorted_list, але ви насправді не сортуєте його 3) У питанні немає нічого про запитання про фільтрування лише непарних чисел 4) Що це означає, що попередні відповіді 5 років тому не робили (окрім відповіді на питання, яке не було задане, і менш елегантним способом)
Фон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.