Encuentra el número más grande (más grande, máximo) en una lista de números

4 minutos de lectura

Avatar de usuario de Chris Foster
Cris Foster

¿Cómo puedo encontrar fácilmente el número mayor en una lista dada de números?


Consulte también ¿Cómo encuentro el máximo (mayor, mayor) de 2 números? – en ese caso especial, los dos valores también se pueden comparar directamente.

Avatar de usuario de Jubal
Jubal

Qué pasa max()

highest = max(1, 2, 3)  # or max([1, 2, 3]) for lists

  • Aquí hay otra que también es útil: averiguar qué variable contiene el mayor número

    – csifo

    12/09/2018 a las 23:38

Puedes usar la función incorporada max() con múltiples argumentos:

print max(1, 2, 3)

o una lista:

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

o, de hecho, cualquier cosa iterable.

  • No es bueno nombrar las variables como una palabra clave de python incorporada predeterminada, que sobrescribe la palabra clave real (debe saberlo) 🙂

    – U13-Adelante

    19 de octubre de 2018 a las 1:16

Avatar de usuario de Chetan_Vasudevan
Chetan_Vasudevan

Este enfoque es sin usar max() función

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)

Además, si desea encontrar el índice del máximo resultante,

print(a.index(max_num))

Enfoque directo usando la función max()

La función max () devuelve el elemento con el valor más alto, o el elemento con el valor más alto en un iterable

Ejemplo: cuando tienes que encontrar el máximo en enteros/números

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

Ejemplo: cuando tienes una cadena

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

Básicamente devuelve el nombre con el valor más alto, ordenado alfabéticamente.

  • ¿Por qué nunca podrías usar la función max?

    – Chris Foster

    30 de agosto de 2017 a las 1:59

  • Así que escribí esto para aquellas personas que se preparan para la entrevista, donde la pregunta es encontrar el máximo de una lista sin usar la función máxima. Si cree que es bueno para la entrevista, vote a favor

    – Chetan_Vasudevan

    30 de agosto de 2017 a las 3:05

  • Si también necesita el índice del máximo, ¿quizás? Entonces simplemente incluiría el idx var en la línea for.

    – Kit Plummer

    5 de marzo de 2019 a las 15:57


  • no usar max como el nombre de una variable porque es el nombre de un incorporado.

    – wjandrea

    18 de julio de 2020 a las 3:00

  • esto no es correcto, si solo hay números negativos en la lista, el resultado será 0 que establezca para max_num.

    – yaozhang

    25 de diciembre de 2021 a las 18:41

Usar max()

>>> l = [1, 2, 5]
>>> max(l)
5
>>> 

max es una función integrada en python, que se utiliza para obtener el valor máximo de una secuencia, es decir, (lista, tupla, conjunto, etc.)

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

# prints 12 

Avatar de usuario de U13-Forward
U13-delantero

De hecho, puedes ordenarlo:

sorted(l,reverse=True)

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

Usted obtiene:

[3,2,1]

Pero aún así, si quieres obtener el máximo de hacer:

print(sort[0])

Usted obtiene:

3

si segundo max:

print(sort[1])

etcétera…

Avatar de usuario de Shalbert
Shalbert

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

  • 1) no hay motivo para no hacer my_list = sorted([int(raw_input(‘Please type a number’)) for _ in xrange(10)) versus typing extra stuff. 2) you have a list called sorted_list but you don’t actually sort it 3) There’s nothing in the question asking about filtering out odd numbers only 4) What does this provide that the previous answers 5 year ago didn’t (besides answering a question that wasn’t asked, and in a less elegant way)

    – Foon

    Oct 7, 2015 at 16:06

¿Ha sido útil esta solución?