A veces, mientras trabajamos con python , podemos tener un problema en el que necesitamos filtrar ciertos datos vacíos. Estos pueden ser ninguno, string vacía, etc. Esto puede tener aplicaciones en muchos dominios. Discutamos ciertas formas en las que se puede realizar la eliminación de listas vacías.
Método 1: usar la comprensión de listas: esta es una de las formas en que se puede resolver este problema. En esto, iteramos a través de la lista y no incluimos la lista que está vacía.
Ejemplo
Python3
# Python3 code to Demonstrate Remove empty List # from List using list comprehension # Initializing list test_list = [5, 6, [], 3, [], [], 9] # printing original list print("The original list is : " + str(test_list)) # Remove empty List from List # using list comprehension res = [ele for ele in test_list if ele != []] # printing result print("List after empty list removal : " + str(res))
The original list is : [5, 6, [], 3, [], [], 9] List after empty list removal : [5, 6, 3, 9]
Método 2: Usar el método filter()
Esta es otra forma más en la que se puede realizar esta tarea. En esto, filtramos valores Ninguno. Los valores none también incluyen listas vacías y, por lo tanto, se eliminan.
Ejemplo
Python3
# Python3 Code to Demonstrate Remove empty List # from List using filter() Method # Initializing list by custom values test_list = [5, 6, [], 3, [], [], 9] # Printing original list print("The original list is : " + str(test_list)) # Removing empty List from List # using filter() method res = list(filter(None, test_list)) # Printing the resultant list print("List after empty list removal : " + str(res))
The original list is : [5, 6, [], 3, [], [], 9] List after empty list removal : [5, 6, 3, 9]
Método 3: Uso de la definición de función
Python3
# Python Code to Remove empty List from List def empty_list_remove(input_list): new_list = [] for ele in input_list: if ele: new_list.append(ele) return new_list # input list values input_list = [5, 6, [], 3, [], [], 9] # print initial list values print(f"The original list is : {input_list}") # function-call & print values print(f"List after empty list removal : {empty_list_remove(input_list)}")
The original list is : [5, 6, [], 3, [], [], 9] List after empty list removal : [5, 6, 3, 9]
El método definido anteriormente (Método 3) es el mejor método optimizado entre los tres.
Método 4: usar los métodos len() y type(). Si la longitud es cero, la lista está vacía.
Python3
# Python3 code to Demonstrate Remove empty List # Initializing list test_list = [5, 6, [], 3, [], [], 9] # printing original list print("The original list is : " + str(test_list)) new_list=[] # Remove empty List from List for i in test_list: x=str(type(i)) if(x.find('list')!=-1): if(len(i)!=0): new_list.append(i) else: new_list.append(i) # printing result print("List after empty list removal : " + str(new_list))
The original list is : [5, 6, [], 3, [], [], 9] List after empty list removal : [5, 6, 3, 9]
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