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_dict new_dict = {} # a for loop to iterate the list of tuples for 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 tuples test = [( 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_dict new_dict = {} # a for loop to iterate the list of tuples for 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() function for 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]}