Python: obtenga el elemento máximo de lista, diccionario o tupla

En este tutorial, aprenda cómo encontrar el elemento máximo de una lista, diccionario o tupla de Python usando el método `max()`.

Introducción

En esta guía, veremos cómo encontrar el elemento máximo de algunas estructuras de datos comunes en Python, como una lista, un diccionario y una tupla.

El método max(), integrado en el espacio de nombres de Python, funciona de maravilla aquí para los tipos integrados.

Cómo obtener el elemento máximo de una lista de Python

Una lista es el tipo integrado de Python que se utiliza para almacenar secuencialmente múltiples referencias en un solo objeto en la memoria.

Cuando se compara con otros lenguajes de programación, una lista de Python es esencialmente una matriz simple. Los elementos se indexan según su posición en la lista y puede haber varios elementos con el mismo valor.

La principal diferencia es que las listas en Python pueden contener elementos de diferentes tipos. Son heterogéneos.

1
2
# List of different type elements 
example_list = ["string", 5, "five", 4, "4"]

{.icon aria-hidden=“true”}

Nota: Si los elementos no son comparables a través de los operadores de comparación (<,>,==,!=), la función max() no funcionará. Por lo tanto, querremos asegurarnos de que una lista sea homogénea antes de intentar encontrar el elemento máximo.

Siempre que pueda comparar los elementos correctamente, puede encontrar el elemento máximo independientemente del tipo. La mayor parte del tiempo, estarás trabajando con números enteros:

1
integer_list = [24, 9, 20, 17, 201, 16, 7]

La forma más fácil de obtener el elemento máximo de una lista es usar el método integrado max():

1
2
max_element = max(integer_list)
print("Max element of a list: ", max_element)

Este código tendrá el resultado esperado:

1
Max element: 201

También puede comparar cadenas lexicográficamente y encontrar la cadena lexicográficamente más grande en una lista a través de la función max():

1
2
3
4
string_list = ["string", "five",  "4"]
max_element = max(string_list)

print("Max element:", max_element)

Esto resulta en:

1
Max element: string

Otra forma de encontrar el elemento máximo de una lista es ordenarla usando el método sort(), y luego obtener el último elemento de la lista ordenada, porque el método sort() ordena la lista en orden ascendente:

1
2
3
4
5
6
integer_list = [24, 9, 20, 17, 201, 16, 7]
integer_list.sort()
# myList = [7, 9, 16, 17, 20, 24, 201]
max_element = integer_list[-1]

print("Max element of a list: ", max_element)

Este código también tendrá el mismo resultado que el anterior:

1
Max element of a list: 201

Si también nos gustaría encontrar el índice del elemento máximo, la forma más fácil es usar el método integrado index():

1
2
3
4
5
6
integer_list = [24, 9, 20, 17, 201, 16, 7]

max_element = max(integer_list)
max_element_index = integer_list.index(max_element)

print("Max element of a list: ", max_element, " at index: ", max_element_index)

Que dará salida:

1
Max element of a list:  201  at index:  4

Cómo obtener el elemento máximo de un diccionario Python

Los diccionarios en Python se usan para almacenar pares clave-valor. Los pares con la misma clave no están permitidos y, desde Python 3.7, los pares en un diccionario se consideran ordenados.

Los diccionarios se definen con la lista de pares clave-valor entre un par de corchetes:

1
2
3
4
5
6
7
dictionary = {
    "key24": 24, 
    "key7": 9,
    "key20": 201,
    "key17": 17, 
    "key201": 201, 
}

La forma más fácil de recuperar el valor del elemento máximo de un diccionario también es usar el método integrado max(), con la lista de valores pasada como argumento:

1
2
max_element = max(dictionary.values())
print("Max element of a dict: ", max_element)

Esto se reduce al método anterior, ya que el método values() devuelve los valores almacenados en una lista. Esto dará la salida correcta:

1
Max element of a dict: 201

Si también queremos encontrar la clave del primer elemento con el valor máximo, la forma más fácil es usar el método max() que proporciona el diccionario y recupera el elemento a través de dictionary.get() .

1
2
3
4
max_val = max(dictionary.values())
max_val_key = max(dictionary, key=dictionary.get)

print("Max element of a dict:", max_val, "with the key:", max_val_key)

Esto generará el valor del elemento máximo y la primera clave coincidente:

1
Max element of a dict: 201 with the key: key20

Nota: Puede sentirse tentado a usar max(dictionary) para encontrar la clave con el valor máximo. Sin embargo, este enfoque devolverá la clave máxima en sí misma. En nuestro caso, devolvería la clave con el valor lexicográfico máximo del diccionario.

Cómo obtener el elemento máximo de una tupla

Una tupla es el tipo incorporado de Python almacena secuencialmente referencias a múltiples objetos en la memoria. Son en muchos aspectos similares a las listas, y la diferencia más notable entre los dos es que una tupla es una estructura de datos inmutable, a diferencia de una lista.

Por lo general, se usan para almacenar solo algunos resultados, generalmente como tipos de devolución de funciones.

En Python, definimos tuplas usando un par de corchetes:

1
2
# Tuple of different element types 
exampleTuple = ("string", 5, "five", 4, "4")

De la misma manera que funciona la comparación en listas, solo puede ejecutar el método max() en tipos de datos compatibles:

1
2
int_tuple = (24, 9, 20, 17, 201, 16, 7)
string_tuple = ('one', 'two', 'three')

Probablemente la manera más fácil de obtener el elemento máximo de una tupla es usar el método integrado max():

1
2
3
4
5
6
7
8
int_tuple = (24, 9, 20, 17, 201, 16, 7)
string_tuple = ('one', 'two', 'three')

max_int = max(int_tuple)
print("Max element of a tuple: ", max_int)

max_str = max(string_tuple)
print("Max element of a tuple: ", max_str)

Nuevamente, esto da como resultado el entero más grande y la cadena lexicográficamente más grande:

1
2
Max element of a tuple:  201
Max element of a tuple:  two

Conclusión

Encontrar el elemento máximo de una estructura de datos es una tarea bastante común. Todas las estructuras de datos estándar en Python tienen una forma similar de encontrar el elemento max, confiando en el método max() para todas las colecciones.

En esta guía, hemos cubierto cómo encontrar el elemento máximo de algunas de las estructuras de datos más populares en Python, teniendo en cuenta las características especiales de cada una de ellas. s.

Licensed under CC BY-NC-SA 4.0