Dada una Array (N + 1) * N, asigne cada columna de la primera fila de la array, la fila subsiguiente de la Array.
Entrada : test_list = [[5, 8, 10], [2, 0, 9], [5, 4, 2], [2, 3, 9]]
Salida : {5: [2, 0, 9], 8: [5, 4, 2], 10: [2, 3, 9]}
Explicación : 5 emparejados con la 2.ª fila, 8 con la 3.ª y 10 con la 4.ªEntrada : test_list = [[5, 8], [2, 0], [5, 4]]
Salida : {5: [2, 0], 8: [5, 4]}
Explicación : 5 emparejados con la segunda fila, 8 con 3ra.
Método #1: Usar la comprensión del diccionario
Esta es una de las formas en que se puede realizar esta tarea. En esto, iteramos las filas y las columnas correspondientes usando el bucle y asignamos la lista de valores en consecuencia de una sola línea usando la comprensión del diccionario.
Python3
# Python3 code to demonstrate working of # Assigning Subsequent Rows to Matrix first row elements # Using dictionary comprehension # initializing list test_list = [[5, 8, 9], [2, 0, 9], [5, 4, 2], [2, 3, 9]] # printing original list print("The original list : " + str(test_list)) # pairing each 1st col with next rows in Matrix res = {test_list[0][ele] : test_list[ele + 1] for ele in range(len(test_list) - 1)} # printing result print("The Assigned Matrix : " + str(res))
The original list : [[5, 8, 9], [2, 0, 9], [5, 4, 2], [2, 3, 9]] The Assigned Matrix : {5: [2, 0, 9], 8: [5, 4, 2], 9: [2, 3, 9]}
Método n.º 2: Usar zip() + segmentación de lista + dict()
Esta es otra forma más en la que se puede realizar esta tarea. En esto, cortamos los elementos para que sean la primera fila y las filas subsiguientes usando la división de listas y zip() realiza la tarea de agrupación requerida. devuelto
Python3
# Python3 code to demonstrate working of # Assigning Subsequent Rows to Matrix first row elements # Using zip() + list slicing + dict() # initializing list test_list = [[5, 8, 9], [2, 0, 9], [5, 4, 2], [2, 3, 9]] # printing original list print("The original list : " + str(test_list)) # dict() to convert back to dict type # slicing and pairing using zip() and list slicing res = dict(zip(test_list[0], test_list[1:])) # printing result print("The Assigned Matrix : " + str(res))
The original list : [[5, 8, 9], [2, 0, 9], [5, 4, 2], [2, 3, 9]] The Assigned Matrix : {5: [2, 0, 9], 8: [5, 4, 2], 9: [2, 3, 9]}
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