Python | Convertir dos listas en un diccionario

La interconversión entre tipos de datos suele ser necesaria en aplicaciones en tiempo real, ya que ciertos sistemas tienen ciertos módulos que requieren la entrada en un tipo de datos particular. Analicemos una utilidad simple pero útil de conversión de dos listas en un key:valuediccionario de pares.

Método n.º 1: método ingenuo
El método básico que se puede aplicar para realizar esta tarea es el método de fuerza bruta para lograrlo. Para esto, simplemente declare un diccionario y luego ejecute un bucle anidado para ambas listas y asigne pares de clave y valor de valores de lista a diccionario.

# Python3 code to demonstrate 
# conversion of lists to dictionary
# using naive method
  
# initializing lists
test_keys = ["Rash", "Kil", "Varsha"]
test_values = [1, 4, 5]
  
# Printing original keys-value lists
print ("Original key list is : " + str(test_keys))
print ("Original value list is : " + str(test_values))
  
# using naive method
# to convert lists to dictionary
res = {}
for key in test_keys:
    for value in test_values:
        res[key] = value
        test_values.remove(value)
        break  
  
# Printing resultant dictionary 
print ("Resultant dictionary is : " +  str(res))
Producción:

Original key list is : ['Rash', 'Kil', 'Varsha']
Original value list is : [1, 4, 5]
Resultant dictionary is : {'Varsha': 5, 'Rash': 1, 'Kil': 4}

 
Método #2: Uso de la comprensión del diccionario
La forma más concisa de lograr el método anterior, el método de comprensión del diccionario ofrece el enfoque más rápido y que ahorra tiempo al reducir las líneas para escribir.

# Python3 code to demonstrate 
# conversion of lists to dictionary
# using dictionary comprehension
  
# initializing lists
test_keys = ["Rash", "Kil", "Varsha"]
test_values = [1, 4, 5]
  
# Printing original keys-value lists
print ("Original key list is : " + str(test_keys))
print ("Original value list is : " + str(test_values))
  
# using dictionary comprehension
# to convert lists to dictionary
res = {test_keys[i]: test_values[i] for i in range(len(test_keys))}
  
# Printing resultant dictionary 
print ("Resultant dictionary is : " +  str(res))
Producción:

Original key list is : ['Rash', 'Kil', 'Varsha']
Original value list is : [1, 4, 5]
Resultant dictionary is : {'Varsha': 5, 'Kil': 4, 'Rash': 1}

 
Método n.º 3: usarzip()
la mayoría de los métodos pythonic y genéricos para realizar esta misma tarea es usar zip(). Esta función empareja el elemento de la lista con otro elemento de la lista en el índice correspondiente en forma de pares clave-valor.

# Python3 code to demonstrate 
# conversion of lists to dictionary
# using zip()
  
# initializing lists
test_keys = ["Rash", "Kil", "Varsha"]
test_values = [1, 4, 5]
  
# Printing original keys-value lists
print ("Original key list is : " + str(test_keys))
print ("Original value list is : " + str(test_values))
  
# using zip()
# to convert lists to dictionary
res = dict(zip(test_keys, test_values))
  
# Printing resultant dictionary 
print ("Resultant dictionary is : " +  str(res))
Producción:

Original key list is : ['Rash', 'Kil', 'Varsha']
Original value list is : [1, 4, 5]
Resultant dictionary is : {'Kil': 4, 'Rash': 1, 'Varsha': 5}

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 *