Programa Python para eliminar fila con elemento de lista personalizado

Dada una array, la tarea aquí es escribir un programa de Python para eliminar filas que tengan cualquier elemento de la lista personalizada y luego mostrar el resultado.

Ejemplos:

Entrada : test_list = [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]], check_list = [3, 10, 19, 29, 20 , 15] 
Salida : [[7, 8, 9], [12, 18, 21]] 
Explicación : [5, 3, 1] la fila tiene 3 en la lista personalizada, por lo tanto, se omite.

Entrada : test_list = [[5, 3, 1], [7, 8, 19], [1, 10, 22], [12, 18, 20]], check_list = [3, 10, 19, 29, 20 , 15] 
Salida : [] 
Explicación : todas las filas tienen algún elemento de la lista personalizada, por lo tanto, se omiten. 
 

Método 1: Usar any() y comprensión de listas

En esto, realizamos la tarea de verificar cualquier elemento de la lista personalizada para buscar filas usando any() y la comprensión de la lista se usa para omitir la fila si se encuentra algún elemento de la lista personalizada en la fila.

Ejemplo:

Python3

# initializing Matrix
test_list = [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing custom list
check_list = [3, 10, 19, 29, 20, 15]
  
# list comprehension used to omit rows from matrix
# any() checks for any element found from check list
res = [row for row in test_list if not any(el in row for el in check_list)]
  
# printing result
print("The omitted rows matrix : " + str(res))

Producción:

La lista original es: [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]]

La array de filas omitidas: [[7, 8, 9], [12, 18, 21]]

Método 2: Usar filter(), lambda y any()

Similar al método anterior, la única diferencia es el filtro() y la función lambda se usa para realizar la tarea de filtrar u omitir filas de la array del resultado.

Ejemplo:

Python3

# initializing Matrix
test_list = [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing custom list
check_list = [3, 10, 19, 29, 20, 15]
  
# filter() used to perform filtering
# any() checks for any element found from check list
res = list(filter(lambda row: not any(
    el in row for el in check_list), test_list))
  
# printing result
print("The omitted rows matrix : " + str(res))

 Producción:

La lista original es: [[5, 3, 1], [7, 8, 9], [1, 10, 22], [12, 18, 21]]

La array de filas omitidas: [[7, 8, 9], [12, 18, 21]]

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 *