In certain cases, we might come into a problem in which we require to unpack dictionary keys to tuples. This kind of problem can occur in cases we are just concerned about the keys of dictionaries and wish to have a tuple of them. Let’s discuss certain ways in which this task can be performed in Python.
Example
Input: {'Welcome': 1, 'to': 2, 'GFG': 3}
Output: ('Welcome', 'to', 'GFG')
Explanation: In this, we are unpacking the keys of Dictionary into Tuple in Python.
Unpacking Dictionary keys into Tuple using Tuple()
The simple type casting of a dictionary into a tuple in fact does the required task. This function takes just the keys and converts them into key tuples as required.
Python3
# Python3 code to demonstrate working of # Unpacking dictionary keys into tuple # Using tuple() # initializing dictionary test_dict = { 'Gfg' : 1 , 'is' : 2 , 'best' : 3 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # Using tuple() # Unpacking dictionary keys into tuple res = tuple (test_dict.keys()) # printing result print ( "The unpacked dict. keys into tuple is : " + str (res)) |
Output
The original dictionary is : {'Gfg': 1, 'is': 2, 'best': 3}
The unpacked dict. keys into tuple is : ('Gfg', 'is', 'best')
Time complexity: O(1). This is because the program performs a constant number of operations to create a tuple from the keys of the dictionary. The time required to create the tuple is independent of the size of the input dictionary.
Auxiliary space: O(k), where k is the number of keys in the input dictionary.
Unpacking Dictionary keys into Tuple using the “=” operator and multiple variables
The ‘=’ operator method can also be used to perform this particular task. In this, we assign the comma-separated variables to the dictionary. We use as many variables as keys in the dictionary. This method is not recommended in case of unknown or many keys.
Python3
# Python code to demonstrate # Unpacking dictionary keys into tuple # Using the = operator and multiple variables # initializing dictionary test_dict = { 'Gfg' : 1 , 'is' : 2 , 'best' : 3 } # printing original dictionary print ( "The original dictionary is:" , test_dict) # Using the = operator and multiple variables # Unpacking dictionary keys into tuple keys_tuple = tuple (key for key in test_dict) # printing result print ( "Unpacked dictionary keys into tuple:" , keys_tuple) |
Output
The original dictionary is: {'Gfg': 1, 'is': 2, 'best': 3}
Unpacked dictionary keys into tuple: ('Gfg', 'is', 'best')
Time Complexity: O(1)
Auxiliary Space: O(1)
Unpacking Dictionary keys into Tuple use keys() Method + Tuple()
Unpack the keys of a dictionary into a tuple is to use the keys() method of the dictionary to get a list of keys, and then pass that list to the tuple() constructor
Python3
# initializing dictionary test_dict = { 'Gfg' : 1 , 'is' : 2 , 'best' : 3 } # printing original dictionary print ( "The original dictionary is: " + str (test_dict)) # Unpacking dictionary keys into tuple using keys() and tuple() res = tuple (test_dict.keys()) # printing result print ( "The unpacked dict. keys into tuple is: " + str (res)) |
The original dictionary is: {'Gfg': 1, 'is': 2, 'best': 3} The unpacked dict. keys into tuple is: ('Gfg', 'is', 'best')
Time complexity: O(n), where n is the number of keys in the dictionary.
Auxiliary space: O(n), where n is the number of keys in the dictionary.
Unpacking Dictionary keys into Tuple use the items() Method
We are using the items() method of the dictionary and iterating over it to create the tuple of keys in Python. The dictionary method generates a view object that showcases a list of key-value pairs from the dictionary as tuples. Each tuple comprises a key and its corresponding value. This technique offers an efficient approach to obtaining access to both keys and values at once, making it a useful tool for various data manipulation tasks.
Python3
# initializing dictionary test_dict = { 'Gfg' : 1 , 'is' : 2 , 'best' : 3 } # using items() method to get list of key-value pairs items = test_dict.items() # extracting only keys from each tuple using list comprehension keys = [key for key, value in items] # converting keys list to tuple using tuple() function res = tuple (keys) # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # printing result print ( "The unpacked dict. keys into tuple is : " + str (res)) |
The original dictionary is : {'Gfg': 1, 'is': 2, 'best': 3} The unpacked dict. keys into tuple is : ('Gfg', 'is', 'best')
Time complexity: O(n) since we need to iterate over all key-value pairs in the dictionary.
Auxiliary space: O(n) as well since we need to create a list to store the keys before converting it to a tuple.