En muchos escenarios, nos encontramos con el problema de obtener una string vacía en una gran cantidad de datos y el manejo que a veces se convierte en una tarea tediosa. Analicemos ciertas salidas para eliminar strings vacías de la lista de strings.
Método #1: Usar remove() Este método en particular es bastante ingenuo y no se recomienda su uso, pero de hecho es un método para realizar esta tarea. remove() generalmente elimina la primera aparición de una string vacía y seguimos iterando este proceso hasta que no se encuentra ninguna string vacía en la lista.
Python3
# Python3 code to demonstrate # removing empty strings # using remove() # initializing list test_list = ["", "GeeksforGeeks", "", "is", "best", ""] # Printing original list print ("Original list is : " + str(test_list)) # using remove() to # perform removal while("" in test_list) : test_list.remove("") # Printing modified list print ("Modified list is : " + str(test_list))
Original list is : ['', 'GeeksforGeeks', '', 'is', 'best', ''] Modified list is : ['GeeksforGeeks', 'is', 'best']
Método #2: Uso de la comprensión de listas Un enfoque mejor y más conciso para eliminar todas las strings vacías, solo verifica si la string no está vacía y vuelve a hacer la lista con todas las strings que no están vacías.
Python3
# Python 3 code to demonstrate # removing empty strings # using list comprehension # initializing list test_list = ["", "GeeksforGeeks", "", "is", "best", ""] # Printing original list print ("Original list is : " + str(test_list)) # using list comprehension to # perform removal test_list = [i for i in test_list if i] # Printing modified list print ("Modified list is : " + str(test_list))
Original list is : ['', 'GeeksforGeeks', '', 'is', 'best', ''] Modified list is : ['GeeksforGeeks', 'is', 'best']
Método #3: Usar join() + split() Combinando las operaciones join() y split(), esta tarea también se puede lograr. Primero unimos todas las strings para que se elimine el espacio vacío y luego lo dividimos de nuevo en la lista para que la nueva lista creada ahora no tenga una string vacía.
Python3
# Python3 code to demonstrate # removing empty strings # using join() + split() # initializing list test_list = ["", "GeeksforGeeks", "", "is", "best", ""] # Printing original list print ("Original list is : " + str(test_list)) # using join() + split() to # perform removal test_list = ' '.join(test_list).split() # Printing modified list print ("Modified list is : " + str(test_list))
Original list is : ['', 'GeeksforGeeks', '', 'is', 'best', ''] Modified list is : ['GeeksforGeeks', 'is', 'best']
Método #4: Usar filter() Usar filter() es la forma más elegante y rápida de realizar esta tarea. Este método es muy recomendable porque la velocidad es importante cuando tratamos con grandes conjuntos de datos de aprendizaje automático que pueden contener strings vacías.
Python3
# Python 3 code to demonstrate # removing empty strings # using filter() # initializing list test_list = ["", "GeeksforGeeks", "", "is", "best", ""] # Printing original list print ("Original list is : " + str(test_list)) # using filter() to # perform removal test_list = list(filter(None, test_list)) # Printing modified list print ("Modified list is : " + str(test_list))
Original list is : ['', 'GeeksforGeeks', '', 'is', 'best', ''] Modified list is : ['GeeksforGeeks', 'is', 'best']
Método #5: Usando el método len().
Python3
# Python3 code to demonstrate # removing empty strings # initializing list test_list = ["", "GeeksforGeeks", "", "is", "best", ""] # Printing original list print ("Original list is : " + str(test_list)) for i in test_list: if(len(i)==0): test_list.remove(i) # Printing modified list print ("Modified list is : " + str(test_list))
Original list is : ['', 'GeeksforGeeks', '', 'is', 'best', ''] Modified list is : ['GeeksforGeeks', '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