A veces, mientras trabajamos con la lista de Python, podemos tener un problema en el que necesitamos agrupar los elementos de la lista con el primer elemento de Matrix y realizar la agrupación en forma de diccionario. Esto puede tener ventajas en muchos dominios. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso de la comprensión de bucle + lista
La combinación de los métodos anteriores se puede utilizar para realizar esta tarea. En esto, iteramos a través de la fila de elementos duales y calculamos el diccionario con el mapeo de elementos de la lista y la segunda columna de la array de filas duales.
# Python3 code to demonstrate # Group elements from Dual List Matrix # using loop + list comprehension # Initializing lists test_list1 = ['Gfg', 'is', 'best'] test_list2 = [['Gfg', 1], ['is', 2], ['best', 1], ['Gfg', 4], ['is', 8], ['Gfg', 7]] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) # Group elements from Dual List Matrix # using loop + list comprehension res = {key: [] for key in test_list1} for key in res: res[key] = [sub[1] for sub in test_list2 if key == sub[0]] # printing result print ("The dictionary after grouping : " + str(res))
La lista original 1 es: [‘Gfg’, ‘is’, ‘best’]
La lista original 2 es: [[‘Gfg’, 1], [‘is’, 2], [‘best’, 1], [‘Gfg’, 4], [‘is’, 8], [‘Gfg’, 7]]
El diccionario después de agrupar: {‘is’: [2, 8], ‘Gfg’: [1, 4, 7 ], ‘mejor’: [1]}
Método #2: Uso de la comprensión del diccionario
Esta es otra forma más en la que se puede realizar esta tarea. En esto, compilamos la lógica realizada anteriormente en una sola comprensión de diccionario para una mejor legibilidad.
# Python3 code to demonstrate # Group elements from Dual List Matrix # using dictionary comprehension # Initializing lists test_list1 = ['Gfg', 'is', 'best'] test_list2 = [['Gfg', 1], ['is', 2], ['best', 1], ['Gfg', 4], ['is', 8], ['Gfg', 7]] # printing original lists print("The original list 1 is : " + str(test_list1)) print("The original list 2 is : " + str(test_list2)) # Group elements from Dual List Matrix # using dictionary comprehension res = {key: [sub[1] for sub in test_list2 if key == sub[0]] for key in test_list1} # printing result print ("The dictionary after grouping : " + str(res))
La lista original 1 es: [‘Gfg’, ‘is’, ‘best’]
La lista original 2 es: [[‘Gfg’, 1], [‘is’, 2], [‘best’, 1], [‘Gfg’, 4], [‘is’, 8], [‘Gfg’, 7]]
El diccionario después de agrupar: {‘is’: [2, 8], ‘Gfg’: [1, 4, 7 ], ‘mejor’: [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