Dada la lista de Strings, ordenar por conteo de puntuaciones.
Entrada : test_list = [“gfg@%^”, “is”, “Best!”]
Salida : [‘is’, ‘Best!’, ‘gfg@%^’]
Explicación : 0 < 1 < 3, ordenado por conteo de puntuación.Entrada : test_list = [“gfg@%^”, “Best!”]
Salida : [ ‘Best!’, ‘gfg@%^’]
Explicación : 1 < 3, ordenados por puntuación.
Método n. ° 1: usar string.punctuation + sort()
En esto, la clasificación se realiza mediante sort() y las puntuaciones se extraen del grupo de puntuación de la biblioteca de strings. Realiza ordenación in situ.
Python3
# Python3 code to demonstrate working of # Sort Strings by Punctuation count # Using string.punctuation + sort() from string import punctuation def get_pnc_count(string): # getting punctuation count return len([ele for ele in string if ele in punctuation]) # initializing list test_list = ["gfg@%^", "is", "Best!", "fo@#r", "@#$ge24eks!"] # printing original list print("The original list is : " + str(test_list)) # performing inplace sort test_list.sort(key = get_pnc_count) # printing result print("Sorted Strings list : " + str(test_list))
Producción:
La lista original es: [‘gfg@%^’, ‘is’, ‘Best!’, ‘fo@#r’, ‘@#$ge24eks!’]
Lista de strings ordenadas: [‘is’, ‘Best!’ , ‘fo@#r’, ‘gfg@%^’, ‘@#$ge24eks!’]
Método #2: Usar sorted() + puntuación + lambda
En esto, realizamos la clasificación usando sorted() usando lambda para evitar una función externa para realizar la tarea de filtrar las puntuaciones extraídas usando la puntuación.
Python3
# Python3 code to demonstrate working of # Sort Strings by Punctuation count # Using sorted() + punctuation + lambda from string import punctuation # initializing list test_list = ["gfg@%^", "is", "Best!", "fo@#r", "@#$ge24eks!"] # printing original list print("The original list is : " + str(test_list)) # performing sort using sorted() with lambda # function for filtering res = sorted(test_list, key=lambda string: len( [ele for ele in string if ele in punctuation])) # printing result print("Sorted Strings list : " + str(res))
Producción:
La lista original es: [‘gfg@%^’, ‘is’, ‘Best!’, ‘fo@#r’, ‘@#$ge24eks!’]
Lista de strings ordenadas: [‘is’, ‘Best!’ , ‘fo@#r’, ‘gfg@%^’, ‘@#$ge24eks!’]
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