Python: construcción de diccionario a partir de valores clave delanteros y traseros

Dada una lista, construya un diccionario usando la clave como valores de la primera mitad y valores comenzando desde el último.

Entrada : test_list = [4, 10, 5, 3]
Salida : {4: 3, 10: 5}
Explicación : el primero (4) se empareja con el trasero (3) y así sucesivamente.

Entrada : test_list = [5, 3]
Salida : {5: 3}
Explicación : el primero (5) está emparejado con el trasero (3).

Entrada : test_dict = {“Manzana”: 2, “Mango”: 2, “Uvas”: 2}, {“Manzana”: 2, “Mango”: 2, “Uvas”: 2}
Salida : 12
Explicación : (2 *2) + (2*2) + (2*2) = 12.

Entrada : test_dict = {“Manzana”: 3, “Mango”: 2, “Uvas”: 3}, {“Manzana”: 2, “Mango”: 2, “Uvas”: 2}
Salida : 16
Explicación : La suma de producto conduce a 16 como arriba.

Método #1: Usar bucle

 Esta es la forma bruta en la que se puede realizar esta tarea. En esto, ejecutamos un bucle desde el principio y extraemos valores desde el principio hasta el final, y construimos el mapeo de valores clave en consecuencia.

Python3

# Python3 code to demonstrate working of 
# Dictionary construction from front-rear key values
# Using loop
  
# initializing list
test_list = [4, 6, 3, 10, 5, 3]
  
# printing original list
print("The original list : " + str(test_list))
  
  
# initializing size and empty Dictionary
n = len(test_list)
res = dict()
  
# running loop till mid
for idx in range(n // 2):
  
    # mapping as required
    res.__setitem__(test_list[idx], test_list[n - idx - 1]) 
  
# printing result 
print("The mapped dictionary : " + str(res))
Producción

The original list : [4, 6, 3, 10, 5, 3]
The mapped dictionary : {4: 3, 6: 5, 3: 10}

Método #2: Usando zip() + dict()

Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos la tarea de comprimir elementos clave y de valor usando zip() y dict() se usa para convertir el resultado al diccionario.

Python3

# Python3 code to demonstrate working of 
# Dictionary construction from front-rear key values
# Using zip() + dict()
  
# initializing list
test_list = [4, 6, 3, 10, 5, 3]
  
# printing original list
print("The original list : " + str(test_list))
  
# using zip to cut first and second half 
n = len(test_list)
res = dict(zip(test_list[:n // 2], test_list[n // 2:][::-1]))
  
# printing result 
print("The mapped dictionary : " + str(res))
Producción

The original list : [4, 6, 3, 10, 5, 3]
The mapped dictionary : {4: 3, 6: 5, 3: 10}

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 *