Python: inicialización de valores incrementales en el diccionario

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 problema de tipo similar de convertir una lista a diccionario, con valores como el índice incremental con K diferencia. Analicemos ciertas formas en que se puede resolver este problema.

Método n.º 1: uso de la comprensión del diccionario +enumerate()
Este problema se puede resolver fácilmente mediante 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
# Incremental value initialization in Dictionary
# using Dictionary comprehension + enumerate()
  
# initializing list
test_list = ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
  
# printing original list
print("The original list : " + str(test_list))
  
# initialization K 
K = 4
  
# using Dictionary comprehension + enumerate()
# Incremental value initialization in Dictionary
res = {val : (K * (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 : {'Akash': 12, 'Nikhil': 4, 'Manjeet': 16, 'Akshat': 8}

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
# Incremental value initialization in Dictionary
# using dict() + zip()
  
# initializing list
test_list = ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
  
# printing original list
print("The original list : " + str(test_list))
  
# initialization K 
K = 4
  
# using dict() + zip()
# Incremental value initialization in Dictionary
res = dict(zip(test_list, range(K, len(test_list) * (K + 1), K)))
  
# print result
print("The Dictionary after index keys : " + str(res))
Producción :

The original list : ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
The Dictionary after index keys : {'Akash': 12, 'Nikhil': 4, 'Manjeet': 16, 'Akshat': 8}

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 *