Python: filtrar filas con elementos como múltiplos de K

Dada una Array, extraer filas con elementos múltiplos de K.

Entrada : test_list = [[5, 10, 15], [4, 8, 12], [100, 15], [5, 10, 23]], K = 4 
Salida : [[4, 8, 12]] 
Explicación : Todos son múltiplos de 4.

Entrada : test_list = [[5, 10, 15], [4, 8, 11], [100, 15], [5, 10, 23]], K = 4 
Salida : [] 
Explicación : No hay filas con todos los múltiplos de 4 

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

En esto, verificamos que todos los elementos sean múltiples usando all(), y la iteración de las filas ocurre usando la comprensión de listas.

Python3

# Python3 code to demonstrate working of
# Access element at Kth index in String
# Using list comprehension + all()
  
# initializing string list
test_list = [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K
K = 5
  
res = [sub for sub in test_list if all(ele % K == 0 for ele in sub)]
  
# printing result
print("Rows with K multiples : " + str(res))
Producción

La lista original es: [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
Filas con K múltiplos: [[5, 10, 15], [100, 15]]

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

En esto, realizamos la tarea de filtrar usando filter() y la función lambda y la tarea de verificar todos los elementos en las filas usando all().

Python3

# Python3 code to demonstrate working of 
# Access element at Kth index in String
# Using filter() + lambda + all()
  
# initializing string list
test_list = [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 5
  
# using all() to check for all elements being multiples of K
res = list(filter(lambda sub : all(ele % K == 0 for ele in sub), test_list))
  
# printing result 
print("Rows with K multiples : " + str(res))
Producción

La lista original es: [[5, 10, 15], [4, 8, 3], [100, 15], [5, 10, 23]]
Filas con K múltiplos: [[5, 10, 15], [100, 15]]

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 *