Python | Convert a list of Tuples into Dictionary

Sometimes you might need to convert a tuple to dict object to make it more readable.
In this article, we will try to learn how to convert a list of tuples into a dictionary. Here we will find two methods of doing this.
Examples:

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}

Recommended: Please try your approach on {IDE} first, before moving on to the solution.
Method 1 : Use of setdefault()

Python | Convert a list of Tuples into Dictionary

Here we have used the dictionary method setdefault() to convert the first parameter to key and the second to the value of the dictionary. setdefault(key, def_value) function searches for a key and displays its value and creates a new key with def_value if the key is not present. Using the append function we just added the values to the dictionary.

Example 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))

Output:

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

Example 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)

Output:

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

Method 2 : Use of dict() method

Example 1:

Python | Convert a list of Tuples into Dictionary
# 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))

Output:

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

Example 2:

# Python code to convert into dictionary

print (dict([('Sachin', 10), ('MSD', 7), ('Kohli', 18), ('Rohit', 45)]))

Output:

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