Python | Diccionario con índice como valor

La interconversión entre los tipos de datos es muy popular y, por lo tanto, se han escrito muchos artículos para demostrar diferentes tipos de problemas con sus soluciones. Este artículo trata con otro tipo de problema similar de convertir una lista a diccionario, con valores como el índice donde aparece el elemento. Analicemos ciertas formas en que se puede resolver este problema.

Método #1: Usar la comprensión del diccionario +enumerate()

Este problema se puede resolver fácilmente usando la combinación de las funciones anteriores, la comprensión del diccionario puede realizar la tarea de construir el diccionario y la función enumerar se puede usar para acceder al valor del índice junto con el elemento.

# Python3 code to demonstrate
# Dictionary with index as value
# using Dictionary comprehension + enumerate()
  
# initializing list
test_list = ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
  
# printing original list
print("The original list : " + str(test_list))
  
# using Dictionary comprehension + enumerate()
# Dictionary with index as value
res = {val : idx + 1 for idx, val in enumerate(test_list)}
  
# print result
print("The Dictionary after index keys : " + str(res))
Producción :

The original list : ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
The Dictionary after index keys : {'Akshat': 2, 'Nikhil': 1, 'Manjeet': 4, 'Akash': 3}

Método #2: Usardict() + zip()

Este problema también se puede resolver usando la combinación de las 2 funciones anteriores, el método dict se puede usar para convertir a diccionario y la función zip se puede usar para mapear los índices con las teclas.

# Python3 code to demonstrate
# Dictionary with index as value
# using dict() + zip()
  
# initializing list
test_list = ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
  
# printing original list
print("The original list : " + str(test_list))
  
# using dict() + zip()
# Dictionary with index as value
res = dict(zip(test_list, range(1, len(test_list)+1)))
  
# print result
print("The Dictionary after index keys : " + str(res))
Producción :

The original list : ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
The Dictionary after index keys : {'Akshat': 2, 'Nikhil': 1, 'Manjeet': 4, 'Akash': 3}

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 *