Given a dictionary, perform append of keys followed by values in list.
Input : test_dict = {“Gfg” : 1, “is” : 2, “Best” : 3}
Output : [‘Gfg’, ‘is’, ‘Best’, 1, 2, 3]
Explanation : All the keys before all the values in list.Input : test_dict = {“Gfg” : 1, “Best” : 3}
Output : [‘Gfg’, ‘Best’, 1, 3]
Explanation : All the keys before all the values in list.
Method #1 : Using list() + keys() + values()
This is one of the ways in which this task can be performed. In this, we extract keys and values using keys() and values(), convert then to list using list() and perform append in order.
Python3
# Python3 code to demonstrate working of # Append Dictionary Keys and Values ( In order ) in dictionary # Using values() + keys() + list() # initializing dictionary test_dict = { "Gfg" : 1 , "is" : 3 , "Best" : 2 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # + operator is used to perform adding keys and values res = list (test_dict.keys()) + list (test_dict.values()) # printing result print ( "The ordered keys and values : " + str (res)) |
The original dictionary is : {'Gfg': 1, 'is': 3, 'Best': 2} The ordered keys and values : ['Gfg', 'is', 'Best', 1, 3, 2]
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #2 : Using chain() + keys() + values()
This is one of the ways in which this task can be performed. In this, we bind keys with values together in order using chain().
Python3
# Python3 code to demonstrate working of # Append Dictionary Keys and Values ( In order ) in dictionary # Using chain() + keys() + values() from itertools import chain # initializing dictionary test_dict = { "Gfg" : 1 , "is" : 3 , "Best" : 2 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # chain() is used for concatenation res = list (chain(test_dict.keys(), test_dict.values())) # printing result print ( "The ordered keys and values : " + str (res)) |
The original dictionary is : {'Gfg': 1, 'is': 3, 'Best': 2} The ordered keys and values : ['Gfg', 'is', 'Best', 1, 3, 2]
Time complexity: O(n), where n is the size of the dictionary.
Auxiliary space: O(n), as we are creating a list of size 2n to store the concatenated keys and values.
Method #3 : Using list() +keys() + values() + extend()
Python3
# Python3 code to demonstrate working of # Append Dictionary Keys and Values #( In order ) in dictionary # Using values() + keys() + extend()+list() # initializing dictionary test_dict = { "Gfg" : 1 , "is" : 3 , "Best" : 2 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) a = list (test_dict.keys()) b = list (test_dict.values()) a.extend(b) res = a # printing result print ( "The ordered keys and values : " + str (res)) |
The original dictionary is : {'Gfg': 1, 'is': 3, 'Best': 2} The ordered keys and values : ['Gfg', 'is', 'Best', 1, 3, 2]
Time complexity: O(n), where n is the number of key-value pairs in the dictionary.
Auxiliary space: O(n), where n is the number of key-value pairs in the dictionary.
Method #4: Using zip() function and list comprehension
This program initializes a dictionary and prints it. It then uses a zip() function and list comprehension to create a list of key-value pairs where the values come first, and then the keys. It finally prints the ordered key-value pairs.
Python3
# initializing dictionary test_dict = { "Gfg" : 1 , "is" : 3 , "Best" : 2 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # using the zip() function and list comprehension to append dictionary keys and values res = [val for val in zip (test_dict.values(), test_dict.keys())] # printing result print ( "The ordered keys and values : " + str (res)) |
The original dictionary is : {'Gfg': 1, 'is': 3, 'Best': 2} The ordered keys and values : [(1, 'Gfg'), (3, 'is'), (2, 'Best')]
Time complexity: O(n), where n is the number of items in the dictionary.
Auxiliary space: O(n), as we are creating a list of n items using the list comprehension.
Method #5: Using sorted() function and list comprehension
Step-by-step approach:
- Initialize the dictionary test_dict.
- Print the original dictionary using the print() function.
- Use the sorted() function to get the keys in alphabetical order, and assign the result to the keys variable.
- Use a list comprehension to get the values corresponding to each key in the keys list, and assign the result to the values variable.
- Concatenate the keys and values lists using the + operator, and assign the result to the res variable.
- Print the ordered keys and values using the print() function.
Python3
# Python3 code to demonstrate working of # Append Dictionary Keys and Values ( In order ) in dictionary # Using sorted() + list comprehension # initializing dictionary test_dict = { "Gfg" : 1 , "is" : 3 , "Best" : 2 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # using sorted() to get the keys in alphabetical order keys = sorted (test_dict.keys()) # using list comprehension to get the values corresponding to each key values = [test_dict[key] for key in keys] # concatenating the keys and values lists res = keys + values # printing result print ( "The ordered keys and values : " + str (res)) |
The original dictionary is : {'Gfg': 1, 'is': 3, 'Best': 2} The ordered keys and values : ['Best', 'Gfg', 'is', 2, 1, 3]
Time complexity: Sorting takes O(n log n) time, and list comprehension takes O(n) time. Therefore, the overall time complexity of this method is O(n log n).
Auxiliary space: This method creates two additional lists (keys and values) of size n, so the auxiliary space complexity is O(n).