Dado Matrix, el siguiente artículo muestra cómo filtrar todas las filas no vacías de una array. En términos más simples, los códigos proporcionados a continuación devuelven una array después de eliminar las filas vacías.
Entrada : test_list = [[4, 5, 6, 7], [], [], [9, 8, 1], []]
Salida : [[4, 5, 6, 7], [9, 8, 1]]
Explicación : se eliminan todas las filas vacías.
Entrada : test_list = [[4, 5, 6, 7], [], [9, 8, 1], []]
Salida : [[4, 5, 6, 7], [9, 8, 1]]
Explicación : se eliminan todas las filas vacías.
Método 1: usar la comprensión de listas y len()
En esto, verificamos cada fila por su longitud, si su longitud es mayor que 0, esa fila se agrega al resultado.
Python3
# initializing list test_list = [[4, 5, 6, 7], [], [], [9, 8, 1], []] # printing original lists print("The original list is : " + str(test_list)) # checking for row lengths using len() res = [row for row in test_list if len(row) > 0] # printing result print("Filtered Matrix " + str(res))
Producción:
La lista original es: [[4, 5, 6, 7], [], [], [9, 8, 1], []]
Array filtrada [[4, 5, 6, 7], [9, 8, 1]]
Método 2: Usar filter(), lambda y len()
En esto, filtramos las longitudes de las filas usando filter() y la función lambda. El len() se usa para obtener la longitud.
Python3
# initializing list test_list = [[4, 5, 6, 7], [], [], [9, 8, 1], []] # printing original lists print("The original list is : " + str(test_list)) # checking for row lengths using len() # filtering using filter() + lambda res = list(filter(lambda row: len(row) > 0, test_list)) # printing result print("Filtered Matrix " + str(res))
Producción:
La lista original es: [[4, 5, 6, 7], [], [], [9, 8, 1], []]
Array filtrada [[4, 5, 6, 7], [9, 8, 1]]
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