Dada una array, los siguientes artículos muestran cómo extraer todas las filas con una longitud específica.
Entrada : lista_prueba = [[3, 4, 5, 6], [1, 4, 6], [2], [2, 3, 4, 5, 6], [7, 3, 1]], K = 3
Salida : [[1, 4, 6], [7, 3, 1]]
Explicación : las listas extraídas tienen una longitud de 3.
Entrada : test_list = [[3, 4, 5, 6], [1, 4, 6 ], [2], [2, 3, 4, 5, 6], [7, 3, 1]], K = 4
Salida : [[3, 4, 5, 6]]
Explicación : las listas extraídas tienen una longitud de 4.
Método 1: usar la comprensión de listas y len()
En esto, realizamos la tarea de obtener la longitud usando len() y la comprensión de listas hace la tarea de filtrar todas las filas que tienen una longitud específica.
Python3
# initializing list test_list = [[3, 4, 5, 6], [1, 4, 6], [2], [2, 3, 4, 5, 6], [7, 3, 1]] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 3 # list comprehension is used for extracting K len rows res = [sub for sub in test_list if len(sub) == K] # printing result print("The filtered rows : " + str(res))
Producción:
La lista original es: [[3, 4, 5, 6], [1, 4, 6], [2], [2, 3, 4, 5, 6], [7, 3, 1]]
Las filas filtradas: [[1, 4, 6], [7, 3, 1]]
Método 2: Usar filter() , lambda y len()
En este, realizamos la tarea de filtrar usando filter() y lambda. len() se usa para encontrar la longitud de las filas.
Python3
# initializing list test_list = [[3, 4, 5, 6], [1, 4, 6], [2], [2, 3, 4, 5, 6], [7, 3, 1]] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 3 # filter() + lambda to filter out rows of len K res = list(filter(lambda sub: len(sub) == K, test_list)) # printing result print("The filtered rows : " + str(res))
Producción:
La lista original es: [[3, 4, 5, 6], [1, 4, 6], [2], [2, 3, 4, 5, 6], [7, 3, 1]]
Las filas filtradas: [[1, 4, 6], [7, 3, 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