Python – Group list of tuples to dictionary

Given a list of tuples, the task is to write a Python Program to get the dict into this tuple.
Example:
Input: [(1, 2, 3, 4, 5, 6), (1, 4),
(3, 5, 3, 4, 5, 6), (5, 7),
(5, 6), (4, 4)]
Output:{1: [2, 3, 4, 5, 6, 4], 3: (5, 3, 4, 5, 6), 5: [7, 6], 4: [4]}
Example 1:
Create a list of tuples as shown. Then the task here is to group the list of tuples into a dictionary. For this purpose, Create an empty dictionary as shown. Then iterate through the list of tuples to group them to the dictionary.
Python3
# create a list of tuples.test = [(1, 2), (1, 4), (3, 5), (5, 7)]# create a empty dictionary name new_dictnew_dict = {}# a for loop to iterate the list of tuplesfor i in test: # checking whether the dictionary # has the key already. # If it returns No, a new Key is created. # If the key is not present the first # value of the tuple is made as the key if new_dict.get(i[0], 'No') == 'No': # THe remaining element is made # as values of the key new_dict[i[0]] = i[1:] else: # If the key is already present assign # the remaining element as values to # the corresponding key new_dict[i[0]] = new_dict.get(i[0]) + i[1:]print(new_dict) |
{1: (2, 4), 3: (5,), 5: (7,)}
As you can see in the output, the list of tuples is grouped into a dictionary where the values are still a tuple of elements.
Example 2:
If you want the values of the dictionary to be a list, then, Create a new list of tuples. The task gain is to group the list of tuples into a dictionary. For this purpose, let’s create an empty dictionary as shown. Here, the dictionary values have to be a list. The key-value pairs with a single element in the value will still be as a tuple, so convert them to lists.
For a detailed explanation go through the code along with the comments below.
Python3
# create a list of tuplestest = [(1, 2, 3, 4, 5, 6), (1, 4), (3, 5, 3, 4, 5, 6), (5, 7), (5, 6), (4, 4)]# create a empty dictionary name new_dictnew_dict = {}# a for loop to iterate the list of tuplesfor i in test: # checking whether the dictionary # has the key already. # If it returns No, a new Key is created. # If the key is not present the first # value of the tuple is made as the key if new_dict.get(i[0], 'No') == 'No': # THe remaining element is # made as values of the key new_dict[i[0]] = i[1:] else: # If the key is already present assign # the remaining element as values to # the corresponding key # add the values to the tuples and them # convert them to list using list() function new_dict[i[0]] = list(new_dict.get(i[0]) + i[1:])# if the length of value is 1,# it would be still as tuple,# so convert them as list using list() functionfor k, v in new_dict.items(): if len(v) == 1: new_dict[k] = list(v)print(new_dict) |
{1: [2, 3, 4, 5, 6, 4], 3: (5, 3, 4, 5, 6), 5: [7, 6], 4: [4]}



