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