Python: asignación de filas subsiguientes a los elementos de la primera fila de Matrix

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))
Producción

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))
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *