Python | Eliminar strings de prefijos de la lista

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos filtrar la lista de strings de forma que se eliminen las strings que comienzan con un prefijo específico. Analicemos ciertas formas en que se puede realizar esta tarea.

Método #1: Usando loop + remove() + beginwith() La combinación de las funciones anteriores puede resolver este problema. En esto, eliminamos los elementos que comienzan con un prefijo particular al que se accede mediante bucle y devolvemos la lista modificada. 

Python3

# Python3 code to demonstrate working of
# Remove prefix strings from list
# using loop + remove() + startswith()
 
# initialize list
test_list = ['xall', 'xlove', 'gfg', 'xit', 'is', 'best']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize prefix
pref = 'x'
 
# Remove prefix strings from list
# using loop + remove() + startswith()
for word in test_list[:]:
    if word.startswith(pref):
        test_list.remove(word)
 
# printing result
print("List after removal of Kth character of each string : " + str(test_list))
Producción : 

The original list : ['xall', 'xlove', 'gfg', 'xit', 'is', 'best']
List after removal of Kth character of each string : ['gfg', 'is', 'best']

  Método n.° 2: usar la comprensión de listas + comienza con() Esta es otra forma en que se puede realizar esta tarea. En esto, no realizamos la eliminación en el lugar, sino que recreamos la lista sin los elementos que coinciden con el prefijo. 

Python3

# Python3 code to demonstrate working of
# Remove prefix strings from list
# using list comprehension + startswith()
 
# initialize list
test_list = ['xall', 'xlove', 'gfg', 'xit', 'is', 'best']
 
# printing original list
print("The original list : " + str(test_list))
 
# initialize prefix
pref = 'x'
 
# Remove prefix strings from list
# using list comprehension + startswith()
res = [ele for ele in test_list if not ele.startswith(pref)]
 
# printing result
print("List after removal of Kth character of each string : " + str(res))
Producción : 

The original list : ['xall', 'xlove', 'gfg', 'xit', 'is', 'best']
List after removal of Kth character of each string : ['gfg', 'is', 'best']

Método n.º 3: usar filter() + beginwith() Esta es otra forma en que se puede realizar esta tarea. En esto, creamos una nueva lista usando la función de filtro de la lista anterior. La función de filtro filtra la string que comienza con el prefijo definido.

Python3

# Python3 code to demonstrate working of
# Remove prefix strings from list
# using filter + startswith()
 
# initialize prefix
pref = 'x'
 
def eva(x):
    return not x.startswith(pref)
# initialize list
test_list = ['xall', 'xlove', 'gfg', 'xit', 'is', 'best']
 
# printing original list
print("The original list : " + str(test_list))
 
# Remove prefix strings from list
# using filter + startswith()
res = list(filter(eva, test_list))
 
# printing result
print("List after removal of Kth character of each string : " + str(res))

Producción:

The original list : ['xall', 'xlove', 'gfg', 'xit', 'is', 'best']
List after removal of Kth character of each string : ['gfg', 'is', 'best']

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 *