Python | String lexicográficamente más pequeña en una lista mixta

A veces, también podemos encontrarnos con un problema en el que se nos da una lista mixta y necesitamos encontrar la string lexicográficamente más pequeña que aparece en la lista. Este problema puede encontrar su aplicación de programación día a día. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: Uso min() + isinstance()de la comprensión de listas +
Esta tarea se puede realizar mediante la combinación de las funciones anteriores. En esto, las min()funciones realizan la tarea de encontrar la string más pequeña y isinstance()se utilizan para verificar la string.

# Python3 code to demonstrate working of
# Lexicographically smallest string in mixed list
# Using min() + isinstance() + list comprehension
  
# initializing list
test_list = [1, 2, 4, "GFG", 5, "IS", 7, "BEST"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Lexicographically smallest string in mixed list
# Using min() + isinstance() + list comprehension
res = min(sub for sub in test_list if isinstance(sub, str))
  
# printing result 
print("The Lexicographically smallest string is : " + str(res))
Producción :

The original list is : [1, 2, 4, 'GFG', 5, 'IS', 7, 'BEST']
The Lexicographically smallest string is : BEST

Método #2: Usar min()+ lambda +filter()
La combinación de las funciones anteriores también se puede usar para realizar esta tarea en particular. En esto, realizamos la tarea de comprensión de listas usando filter()y lambda y minla función se usa para realizar la tarea habitual de encontrar la string más pequeña.

# Python3 code to demonstrate working of
# Lexicographically smallest string in mixed list
# Using min() + lambda + filter()
  
# initializing list
test_list = [1, 2, 4, "GFG", 5, "IS", 7, "BEST"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# Lexicographically smallest string in mixed list
# Using min() + lambda + filter()
res = min(filter(lambda s:isinstance(s, str), test_list))
  
# printing result 
print("The Lexicographically smallest string is : " + str(res))
Producción :

The original list is : [1, 2, 4, 'GFG', 5, 'IS', 7, 'BEST']
The Lexicographically smallest string is : BEST

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 *