Python: elimine las tuplas de la lista que tienen todos los elementos como Ninguno

Dada una lista de tuplas, elimine todas las tuplas con todos los valores Ninguno.

Entrada : test_list = [(Ninguno, 2), (Ninguno, Ninguno), (3, 4), (12, 3), (Ninguno, )] Salida: [(Ninguno, 2), (3, 4) 
, ( 12, 3)] 
Explicación : se eliminan todas las tuplas Ninguno.

Entrada : test_list = [(Ninguno, Ninguno), (Ninguno, Ninguno), (3, 4), (12, 3), (Ninguno, )] Salida: [(3, 4), (12, 3 
)
Explicación : Se eliminan todas las tuplas Ninguna. 
 

Método #1: Usando all() + comprensión de lista

En esto, usamos all() para verificar todos los valores de Ninguno para descartar y la comprensión de la lista hace la tarea de iteración.

Python3

# Python3 code to demonstrate working of
# Remove None Tuples from List
# Using all() + list comprehension
 
# initializing list
test_list = [(None, 2), (None, None), (3, 4), (12, 3), (None, )]
 
# printing original list
print("The original list is : " + str(test_list))
 
# negating result for discarding all None Tuples
res = [sub for sub in test_list if not all(ele == None for ele in sub)]
 
# printing result
print("Removed None Tuples : " + str(res))

Producción:

La lista original es: [(Ninguno, 2), (Ninguno, Ninguno), (3, 4), (12, 3), (Ninguno,)] Tuplas eliminadas de Ninguno: [(Ninguno, 2), (3, 4) ), (12, 3)]

Método #2: Usando filter() + lambda + all()

En este método, la tarea de filtrar tuplas None se realiza utilizando filter() y la función lambda para proporcionar la funcionalidad de comprobación de None utilizando all().

Python3

# Python3 code to demonstrate working of
# Remove None Tuples from List
# Using filter() + lambda + all()
 
# initializing list
test_list = [(None, 2), (None, None), (3, 4), (12, 3), (None, )]
 
# printing original list
print("The original list is : " + str(test_list))
 
# filter() + lambda to drive logic of discarding tuples
res = list(filter(lambda sub : not all(ele == None for ele in sub), test_list))
 
# printing result
print("Removed None Tuples : " + str(res))

Producción:

La lista original es: [(Ninguno, 2), (Ninguno, Ninguno), (3, 4), (12, 3), (Ninguno,)] Tuplas eliminadas de Ninguno: [(Ninguno, 2), (3, 4) ), (12, 3)]

Método #3: Usando el método count()

Si el recuento de Ninguno en cada tupla es igual a la longitud de la tupla, entonces todos los elementos de la tupla son Ninguno. Utilizó esto en la condición if y agregó otras tuplas a la lista de salida

Python3

# Python3 code to demonstrate working of
# Remove None Tuples from List
 
# initializing list
test_list = [(None, None), (None, None), (3, 4), (12, 3), (None, )]
 
# printing original list
print("The original list is : " + str(test_list))
 
# negating result for discarding all None Tuples
res=[]
for i in test_list:
    if not(i.count(None)== len(i)):
        res.append(i)
 
# printing result
print("Removed None Tuples : " + str(res))
Producción

The original list is : [(None, None), (None, None), (3, 4), (12, 3), (None,)]
Removed None Tuples : [(3, 4), (12, 3)]

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 *