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