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))
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