Python: conserva todas las filas de elementos K

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos retener filas que solo tienen K como elementos. Este tipo de aplicación puede ocurrir en dominios de datos que toman Matrix como entrada. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_list = [[7, 6], [4, 4], [1, 2], [4]], K = 4
Salida : [[4, 4], [4]]

Entrada : test_list = [[7, 6], [7, 4], [1, 2], [9]], K = 4
Salida : []

Método n.º 1: Uso de la comprensión de listas +any()
La combinación de las funciones anteriores proporciona una forma en la que se puede realizar esta tarea. En esto, realizamos la tarea de filtrar las filas que tienen cualquier elemento que no sea K usando any().

# Python3 code to demonstrate working of 
# Retain all K elements Rows
# Using list comprehension + any()
  
# initializing list
test_list = [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 2
  
# Retain all K elements Rows
# Using list comprehension + any()
res = [ele for ele in test_list if not any(el != K for el in ele)]
  
# printing result 
print("Matrix after filtering : " + str(res))
Producción :

The original list : [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
Matrix after filtering : [[2, 2, 2], [2, 2]]

Método n.º 2: usar la comprensión de listas +all()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, verificamos si todos los elementos de la fila son iguales a K usando all().

# Python3 code to demonstrate working of 
# Retain all K elements Rows
# Using list comprehension + all()
  
# initializing list
test_list = [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initializing K 
K = 2
  
# Retain all K elements Rows
# Using list comprehension + all()
res = [ele for ele in test_list if all(el == K for el in ele)]
  
# printing result 
print("Matrix after filtering : " + str(res))
Producción :

The original list : [[2, 4, 6], [2, 2, 2], [2, 3], [2, 2]]
Matrix after filtering : [[2, 2, 2], [2, 2]]

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 *