Python: elimina caracteres mayores que K

Dada la lista de strings, elimine todos los caracteres de cada string que tengan caracteres mayores que K.

Entrada : test_list = [“geeksforgeeks”, “is”, “best”, “for”, “geeks”], K = 13 
Salida : [‘geekfgeek’, ‘i’, ‘be’, ‘f’, ‘geek ‘] 
Explicación : se eliminan los caracteres ASCII anteriores a m.

Entrada : test_list = [“geeksforgeeks”, “is”, “best”, “for”, “geeks”], K = 10 
Salida : [‘geekfgeek’, ‘i’, ‘be’, ‘f’, ‘geek ‘] 
Explicación : se eliminan los caracteres ASCII arriba de j. 
 

Método #1: Usar loop + ord()

En esto, verificamos el valor ASCII del carácter usando ord(), y luego lo comparamos con K, si el carácter es mayor que K, el carácter no se incluye en la string de resultados.

Python3

# Python3 code to demonstrate working of
# Remove characters greater than K
# Using loop + ord()
 
# initializing list
test_list = ["geeksforgeeks", "is", "best", "for", "geeks"]
 
# printing original lists
print("The original list is : " + str(test_list))
 
# initializing K
K = 13
 
res = []
for ele in test_list:
    res_str = ''
    for sub in ele:
         
        # check for string characters
        if (ord(sub) - 97 <= K):
            res_str += sub
    res.append(res_str)
 
# printing result
print("Filtered List " + str(res))

Producción:

La lista original es: [‘geeksforgeeks’, ‘is’, ‘best’, ‘for’, ‘geeks’] 
Lista filtrada [‘geekfgeek’, ‘i’, ‘be’, ‘f’, ‘geek’] 
 

Método #2: Usar join() + comprensión de lista + ord()

Esta es una forma abreviada en la que se puede realizar esta tarea. En esto, realizamos tareas de filtrado y unión para formar una string usando join().

Python3

# Python3 code to demonstrate working of
# Remove characters greater than K
# Using join() + list comprehension + ord()
 
# initializing list
test_list = ["geeksforgeeks", "is", "best", "for", "geeks"]
 
# printing original lists
print("The original list is : " + str(test_list))
 
# initializing K
K = 13
 
# using list comprehension for 1 liner
res = [''.join([ele for ele in sub if ord(ele) - 97 <= K]) for sub in test_list]
 
# printing result
print("Filtered List " + str(res))

Producción:

La lista original es: [‘geeksforgeeks’, ‘is’, ‘best’, ‘for’, ‘geeks’] 
Lista filtrada [‘geekfgeek’, ‘i’, ‘be’, ‘f’, ‘geek’] 
 

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 *