Friday, December 27, 2024
Google search engine
HomeLanguagesPython – Append Dictionary Keys and Values ( In order ) in...

Python – Append Dictionary Keys and Values ( In order ) in dictionary

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))


Output

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))


Output

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))


Output

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))


Output

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))


Output

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).

RELATED ARTICLES

Most Popular

Recent Comments