Python | Convertir una lista de tuplas en diccionario

A veces, es posible que necesite convertir una tupla en un objeto dictado para que sea más legible.
En este artículo, intentaremos aprender cómo convertir una lista de tuplas en un diccionario. Aquí encontraremos dos métodos para hacerlo.
Ejemplos:

Input : [("akash", 10), ("gaurav", 12), ("anand", 14), 
         ("suraj", 20), ("akhil", 25), ("ashish", 30)]
Output : {'akash': [10], 'gaurav': [12], 'anand': [14], 
          'ashish': [30], 'akhil': [25], 'suraj': [20]}

Input : [('A', 1), ('B', 2), ('C', 3)]
Output : {'B': [2], 'A': [1], 'C': [3]}

Input : [("Nakul",93), ("Shivansh",45), ("Samved",65),
             ("Yash",88), ("Vidit",70), ("Pradeep",52)]
Output : {'Nakul': [93], 'Shivansh': [45], 'Samved': [65], 
            'Yash': [88], 'Vidit': [70], 'Pradeep': [52]}

Input : [('Sachin', 10), ('MSD', 7), ('Kohli', 18), ('Rohit', 45)]
Output : {'Sachin': 10, 'MSD': 7, 'Kohli': 18, 'Rohit': 45}

Método 1: Uso de setdefault()

Aquí hemos utilizado el método de diccionario setdefault() para convertir el primer parámetro en clave y el segundo en el valor del diccionario. La función setdefault(key, def_value) busca una clave y muestra su valor y crea una nueva clave con def_value si la clave no está presente. Usando la función de agregar, acabamos de agregar los valores al diccionario.

Ejemplo 1:

# Python code to convert into dictionary
  
def Convert(tup, di):
    for a, b in tup:
        di.setdefault(a, []).append(b)
    return di
      
# Driver Code    
tups = [("akash", 10), ("gaurav", 12), ("anand", 14), 
     ("suraj", 20), ("akhil", 25), ("ashish", 30)]
dictionary = {}
print (Convert(tups, dictionary))

Producción:

{'akash': [10], 'gaurav': [12], 'anand': [14], 
 'ashish': [30], 'akhil': [25], 'suraj': [20]}

Ejemplo 2:

# Python code to convert into dictionary
list_1=[("Nakul",93), ("Shivansh",45), ("Samved",65),
           ("Yash",88), ("Vidit",70), ("Pradeep",52)]
dict_1=dict()
  
for student,score in list_1:
    dict_1.setdefault(student, []).append(score)
print(dict_1)

Producción:

{'Nakul': [93], 'Shivansh': [45], 'Samved': [65], 'Yash': [88], 'Vidit': [70], 'Pradeep': [52]}

Método 2: Uso del método dict()

Ejemplo 1:

# Python code to convert into dictionary
def Convert(tup, di):
    di = dict(tup)
    return di
      
# Driver Code 
tups = [("akash", 10), ("gaurav", 12), ("anand", 14), 
    ("suraj", 20), ("akhil", 25), ("ashish", 30)]
dictionary = {}
print (Convert(tups, dictionary))

Producción:

{'anand': 14, 'akash': 10, 'akhil': 25, 
 'suraj': 20, 'ashish': 30, 'gaurav': 12}

Ejemplo 2:

# Python code to convert into dictionary
  
print (dict([('Sachin', 10), ('MSD', 7), ('Kohli', 18), ('Rohit', 45)]))

Producción:

{'Sachin': 10, 'MSD': 7, 'Kohli': 18, 'Rohit': 45}

Este es un método simple de conversión de una lista o tupla a un diccionario. Aquí pasamos una tupla al método dict() que convierte la tupla en el diccionario correspondiente.

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka 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 *