Python: lista de elementos que agrupan en Matrix

Dada una Array, para grupos según elementos de lista, es decir, cada grupo debe contener todos los elementos de Lista.

Entrada : test_list = [[2, 6], [7, 8], [1, 4]], check_list = [1, 2, 4, 6]
Salida : [[7, 8], [[1, 2] , [4, 6]]]
Explicación : se agrupan filas de 1, 2, 4, 6 elementos.

Entrada : test_list = [[2, 7], [7, 8], [1, 4]], check_list = [1, 2, 4, 6]
Salida : [[2, 7], [7, 8], [1, 4]]
Explicación : No es posible agrupar.

Método: Uso de loop + lista de comprensión + Try-Except

En esto, para cada fila en la array, obtenga los elementos que faltan de la lista, después de obtener los elementos, haga coincidir con cada fila si podemos encontrar los elementos que faltan, si los encuentra, se crea el nuevo grupo.

Python3

# Python3 code to demonstrate working of 
# List Elements Grouping in Matrix
# Using loop 
  
# initializing list
test_list = [[4, 6], [1, 2], [2, 6], [7, 8], [1, 4]]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing check_list
check_list = [1, 2, 4, 6]
  
  
res = []
while test_list:
      
    # getting row
    sub1 = test_list.pop()
      
    # getting elements not in row
    sub2 = [ele for ele in check_list if ele not in sub1]
    try:
          
        # testing if we have list of removed elements
        test_list.remove(sub2)
          
        # grouping if present
        res.append([sub1, sub2])
    except ValueError:
          
        # ungrouped. 
        res.append(sub1)
  
# printing result 
print("The Grouped rows : " + str(res))
Producción

The original list is : [[4, 6], [1, 2], [2, 6], [7, 8], [1, 4]]
The Grouped rows : [[[1, 4], [2, 6]], [7, 8], [[1, 2], [4, 6]]]

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 *