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