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))
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))
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