Wednesday, July 3, 2024
HomeLanguagesPythonPython | List of tuples to dictionary conversion

Python | List of tuples to dictionary conversion

Interconversions are always required while coding in Python, also because of the expansion of Python as a prime language in the field of Data Science. This article discusses yet another problem that converts to dictionary and assigns keys as 1st element of tuple and rest as it’s value. Let’s discuss certain ways in which this can be performed. 

Method #1 : Using dictionary comprehension This problem can be solved using a shorthand made using dictionary comprehension which performs the classic Naive method of loops in single line inside a dictionary. 

Python3




# Python3 code to demonstrate
# List of tuple to dictionary conversion
# using list comprehension
 
# initializing list
test_list = [('Nikhil', 21, 'JIIT'), ('Akash', 22, 'JIIT'), ('Akshat', 22, 'JIIT')]
 
# printing original list
print("The original list : " + str(test_list))
 
# using list comprehension
# List of tuple to dictionary conversion
res = {sub[0]: sub[1:] for sub in test_list}
 
# print result
print("The dictionary after conversion : " + str(res))


Output : 

The original list : [(‘Nikhil’, 21, ‘JIIT’), (‘Akash’, 22, ‘JIIT’), (‘Akshat’, 22, ‘JIIT’)] The dictionary after conversion : {‘Nikhil’: (21, ‘JIIT’), ‘Akshat’: (22, ‘JIIT’), ‘Akash’: (22, ‘JIIT’)}

Time complexity: O(n), where n is the number of tuples in the input list.
Auxiliary space: O(n), where n is the number of tuples in the input list. 

Method #2 : Using dict() + dictionary comprehension Performs task similar to the above method, just the difference comes in the way of creation of dictionary. In the above method, dictionary is created using comprehension, here dict function is used for creation of a dictionary. 

Python3




# Python3 code to demonstrate
# List of tuple to dictionary conversion
# using dict() + dictionary comprehension
 
# initializing list
test_list = [('Nikhil', 21, 'JIIT'), ('Akash', 22, 'JIIT'), ('Akshat', 22, 'JIIT')]
 
# printing original list
print("The original list : " + str(test_list))
 
# using dict() + dictionary comprehension
# List of tuple to dictionary conversion
res = dict((idx[0], idx[1:]) for idx in test_list)
 
# print result
print("The dictionary after conversion : " + str(res))


Output : 

The original list : [(‘Nikhil’, 21, ‘JIIT’), (‘Akash’, 22, ‘JIIT’), (‘Akshat’, 22, ‘JIIT’)] The dictionary after conversion : {‘Nikhil’: (21, ‘JIIT’), ‘Akshat’: (22, ‘JIIT’), ‘Akash’: (22, ‘JIIT’)}

Time Complexity: O(n*n) where n is the number of elements in the list “test_list”. dict() + dictionary comprehension performs n*n number of operations.
Auxiliary Space: O(n), extra space is required where n is the number of elements in the list

Method 3- using a for loop:

This method iterates over each tuple in the list, extracts the first element (key) and the remaining elements (value) and assigns them to the dictionary. 

Python3




test_list = [('Nikhil', 21, 'JIIT'), ('Akash', 22, 'JIIT'), ('Akshat', 22, 'JIIT')]
 
result_dict = {}
 
for tpl in test_list:
    result_dict[tpl[0]] = tpl[1:]
 
print("The dictionary after conversion : " + str(result_dict))


Output

The dictionary after conversion : {'Nikhil': (21, 'JIIT'), 'Akash': (22, 'JIIT'), 'Akshat': (22, 'JIIT')}

Time complexity: O(n), where n is the number of tuples in the list. The for loop iterates over each tuple once.
Auxiliary space: O(n), where n is the number of tuples in the list. The space required to store the dictionary is proportional to the number of tuples in the list.

Nango Kalahttps://www.kala.co.za
Experienced Support Engineer with a demonstrated history of working in the information technology and services industry. Skilled in Microsoft Excel, Customer Service, Microsoft Word, Technical Support, and Microsoft Office. Strong information technology professional with a Microsoft Certificate Solutions Expert (Privet Cloud) focused in Information Technology from Broadband Collage Of Technology.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments