Python: ordenar la lista de strings por frecuencia de caracteres K

Dada la lista de strings, realice la operación de clasificación en función de la frecuencia de un carácter particular.

Entrada : test_list = [“geekforgeekss”, “is”, “bessst”, “for”, “geeks”], K = ‘s’ 
Salida : [‘bessst’, ‘geekforgeekss’, ‘geeks’, ‘is’, ‘for’] 
Explicación : bessst tiene 3 ocurrencias, geeksforgeekss tiene 3, y así sucesivamente.
Entrada : test_list = [“geekforgeekss”, “is”, “bessst”], K = ‘e’ 
Salida : [“geekforgeekss”, “bessst”, “is”] 
Explicación : orden decreciente de recuento de ‘e’. 
 

Método #1: Usar sorted() + count() + lambda

En esto, sorted() se usa para realizar la tarea de clasificación, count() es una función sobre la cual se realizará la clasificación. usando un parámetro de clave adicional, y la encapsulación de función utilizada es lambda.

Python3

# Python3 code to demonstrate working of
# Sort String list by K character frequency
# Using sorted() + count() + lambda
 
# initializing list
test_list = ["geekforgeeks", "is", "best", "for", "geeks"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 'e'
 
# "-" sign used to reverse sort
res = sorted(test_list, key = lambda ele: -ele.count(K))
 
# printing results
print("Sorted String : " + str(res))
Producción

The original list is : ['geekforgeeks', 'is', 'best', 'for', 'geeks']
Sorted String : ['geekforgeeks', 'geeks', 'best', 'is', 'for']

Método #2: Usar sort() + count() + lambda

En esto, realizamos la tarea de clasificación usando sort(), esto es similar a lo anterior, con la única diferencia de que la clasificación se realiza en el lugar.

Python3

# Python3 code to demonstrate working of
# Sort String list by K character frequency
# Using sort() + count() + lambda
 
# initializing list
test_list = ["geekforgeeks", "is", "best", "for", "geeks"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 'e'
 
# "-" sign used to reverse sort
# inplace sort
test_list.sort(key = lambda ele: -ele.count(K))
 
# printing results
print("Sorted String : " + str(test_list))
Producción

The original list is : ['geekforgeeks', 'is', 'best', 'for', 'geeks']
Sorted String : ['geekforgeeks', 'geeks', 'best', 'is', 'for']

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 *