Dada una lista de strings, ordenar por rango de substrings.
Entrada : test_list = [“geeksforgeeks”, “mejor”, “geeks”, “preparación”, “entrevista”], i, j = 1, 3
Salida : [‘geeksforgeeks’, ‘geeks’, ‘mejor’, ‘entrevista ‘, ‘preparación’]Explicación : “eek” < “eek” < “est” < “nte” < “rep”.
Entrada : test_list = [“manzana”, “naranja”, “banana”], i, j = 2, 4
Salida : [‘naranja’, ‘banana’, ‘manzana’]
Explicación : “ang” < “nan” < «por favor».
Método n.º 1: usar sort() + corte
En esto, realizamos la tarea de ordenar usando sort() y la tarea de extraer un rango se realiza usando el corte.
Python3
# Python3 code to demonstrate working of # Sort Strings By Substring Range # Using sort() + slicing # helper function def get_substr(test_str): # getting range return test_str[i : j] # initializing list test_list = ["geeksforgeeks", "best", "geeks", "preparation"] # printing original list print("The original list is : " + str(test_list)) # initializing range i, j = 1, 3 # calling func. test_list.sort(key=get_substr) # printing result print("Strings after sorting : " + str(test_list))
La lista original es: [‘geeksforgeeks’, ‘best’, ‘geeks’, ‘preparation’]
Strings después de ordenar: [‘geeksforgeeks’, ‘geeks’, ‘best’, ‘preparation’]
Método #2: Usar la función lambda + ordenar() + rebanar
En esto, realizamos el corte usando la función lambda en lugar de llamar a la función externa.
Python3
# Python3 code to demonstrate working of # Sort Strings By Substring Range # Using lambda function + sort() + slicing # initializing list test_list = ["geeksforgeeks", "best", "geeks", "preparation"] # printing original list print("The original list is : " + str(test_list)) # initializing range i, j = 1, 3 # lambda function providing sort fnc. test_list.sort(key=lambda test_str : test_str[i : j]) # printing result print("Strings after sorting : " + str(test_list))
La lista original es: [‘geeksforgeeks’, ‘best’, ‘geeks’, ‘preparation’]
Strings después de ordenar: [‘geeksforgeeks’, ‘geeks’, ‘best’, ‘preparation’]
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