Dada una lista de strings. La tarea es ordenar la lista de strings por el número de caracteres únicos.
Ejemplos:
Entrada : test_list = [‘gfg’, ‘best’, ‘for’, ‘geeks’],
Salida : [‘gfg’, ‘for’, ‘best’, ‘geeks’]
Explicación : 2, 3, 4, 4 son elementos únicos en las listas.Entrada : test_list = [‘gfg’, ‘for’, ‘geeks’],
Salida : [‘gfg’, ‘for’, ‘geeks’]
Explicación : 2, 3, 4 son elementos únicos en las listas.
Método #1: Usar sort() + len() + set()
En esto, realizamos la tarea de ordenar usando sort(), y las funciones len y sort se usan para obtener la longitud de los caracteres únicos en la string.
Python3
# Python3 code to demonstrate working of # Sort Strings by Unique characters # Using sort() + len() + set() # helper function def hlper_fnc(ele): # getting Unique elements count return len(list(set(ele))) # initializing list test_list = ['gfg', 'best', 'for', 'geeks'] # printing original list print("The original list is : " + str(test_list)) # perform sort test_list.sort(key = hlper_fnc) # printing result print("Sorted List : " + str(test_list))
The original list is : ['gfg', 'best', 'for', 'geeks'] Sorted List : ['gfg', 'for', 'best', 'geeks']
Método #2: Usar sorted() + len() + set() + lambda
Similar al método anterior, la diferencia no es la ordenación en el lugar, y también usa la función lambda para realizar la tarea.
Python3
# Python3 code to demonstrate working of # Sort Strings by Unique characters # Using sorted() + len() + set() + lambda # initializing list test_list = ['gfg', 'best', 'for', 'geeks'] # printing original list print("The original list is : " + str(test_list)) # perform sort res = sorted(test_list, key = lambda sub : len(list(set(sub)))) # printing result print("Sorted List : " + str(res))
The original list is : ['gfg', 'best', 'for', 'geeks'] Sorted List : ['gfg', 'for', 'best', 'geeks']
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