Python | Encuentra Min/Max en lista heterogénea

Las listas en Python pueden manejar diferentes tipos de tipos de datos en ella. La manipulación de dichas listas es complicada. Digamos que tenemos un problema en el que necesitamos encontrar el valor entero mínimo/máximo en el que la lista puede contener una string como un tipo de datos, es decir, heterogénea. Analicemos ciertas formas en que esto se puede realizar.

Método n.º 1: Usar comprensión de lista + min()/max() + isinstance() 
Este problema en particular se puede resolver filtrando nuestra búsqueda de min/max usando el método isinstance, podemos filtrar el valor entero y luego podemos usar min Función /max para obtener el valor mínimo/máximo requerido.

Python3

# Python3 code to demonstrate 
# Min / Max in heterogeneous list
# using list comprehension + min()/max() + isinstance()
 
# initializing list
test_list = [3, 'computer', 5, 'geeks', 6, 7]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# using list comprehension + min()/max() + isinstance()
# Min / Max in heterogeneous list
res = min(i for i in test_list if isinstance(i, int))
 
# printing result
print ("The minimum value in list is : " + str(res))
Producción : 

The original list is : [3, 'computer', 5, 'geeks', 6, 7]
The minimum value in list is : 3

 

Método #2: Usar lambda + tecla + max()/min() + isinstance() 
El problema anterior también se puede resolver usando la función lambda como clave en min()/max() junto con el método isinstance que realiza la tarea de comprobar los valores enteros.

Python3

# Python3 code to demonstrate 
# Min / Max in heterogeneous list
# using lambda + key + max()/min() + isinstance()
 
# initializing list
test_list = [3, 'computer', 5, 'geeks', 6, 7]
 
# printing original list
print ("The original list is : " + str(test_list))
 
# using lambda + key + max()/min() + isinstance()
# Min / Max in heterogeneous list
res = max(test_list, key = lambda i: (isinstance(i, int), i))
 
# printing result
print ("The maximum value in list is : " + str(res))
Producción : 

The original list is : [3, 'computer', 5, 'geeks', 6, 7]
The maximum value in list is : 7

 

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *