Python – Convert Dictionary to Concatenated String
Sometimes, while working with Dictionaries, we can have a task in which we need to perform the conversion of converting dictionary to string, which is concatenated key-value pair. This can have application in domains in which we require to reduce storage space or require strings as target data. Let’s discuss certain ways in which this task can be performed.
Method 1: Using an empty string + for loop
In this method, we will use a for loop to iterate through the dictionary object and keep on adding the key: value pairs to the empty string.
Python3
# Python3 code to demonstrate working of # Convert Dictionary to Concatenated String # Using an empty string + for loop # initializing dictionary test_dict = { 'gfg' : 1 , 'is' : 2 , 'best' : 3 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # Create an empty string res = ' ' # Convert Dictionary to Concatenated String # Using for loop and empty string for item in test_dict: res + = item + str (test_dict[item]) # printing result print ( "The dictionary after concatenation is : " + str (res)) |
Output:
The original dictionary is : {'gfg': 1, 'is': 2, 'best': 3} The dictionary after concatenation is : gfg1is2best3
Method 2 : Using join() + items()
The combination of above functions can be used to solve this problem. In this, we need to perform the task of concatenation using join() and extraction of dictionary items is done using items().
Python3
# Python3 code to demonstrate working of # Convert Dictionary to Concatenated String # Using join() + items() # initializing dictionary test_dict = { 'gfg' : 1 , 'is' : 2 , 'best' : 3 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # Convert Dictionary to Concatenated String # Using join() + items() res = ''.join(key + str (val) for key, val in test_dict.items()) # printing result print ( "The dictionary after concatenation is : " + str (res)) |
Output :
The original dictionary is : {'gfg': 1, 'best': 2, 'is': 3} The dictionary after concatenation is : gfg1best2is3
Method 3 : Using reduce() + lambda
The combination of above functions can be used to perform this task. In this, we perform the task of concatenation using combination of reduce() and lambda.
Python3
# Python3 code to demonstrate working of # Convert Dictionary to Concatenated String # Using reduce() + lambda from functools import reduce # initializing dictionary test_dict = { 'gfg' : 1 , 'is' : 2 , 'best' : 3 } # printing original dictionary print ( "The original dictionary is : " + str (test_dict)) # Convert Dictionary to Concatenated String # Using reduce() + lambda res = reduce ( lambda key, val : key + str (val[ 0 ]) + str (val[ 1 ]), test_dict.items(), '') # printing result print ( "The dictionary after concatenation is : " + str (res)) |
Output :
The original dictionary is : {'gfg': 1, 'best': 2, 'is': 3} The dictionary after concatenation is : gfg1best2is3
Method#4:list comprehension with zip() function
Approach
1. Define the input dictionary
2. Convert dictionary to concatenated string using a list comprehension with zip() function
3. Print the concatenated string
Algorithm
1. Uses the zip() function to iterate over the keys and values of the dictionary in parallel.
2. Uses a list comprehension to concatenate each key-value pair into a string using the + operator and the str() function.
3. Joins the resulting list of strings using the join() method.
4. Prints the concatenated string.
Python3
# Define the input dictionary my_dict = { 'gfg' : 1 , 'is' : 2 , 'best' : 3 } # Convert dictionary to concatenated string using a list comprehension with zip() function concatenated_string = ''.join([ str (x) + str (y) for x, y in zip (my_dict.keys(), my_dict.values())]) # Print the concatenated string print ( "The dictionary after concatenation is : " , concatenated_string) |
The dictionary after concatenation is : gfg1is2best3
Time Complexity: O(n). The zip() function in this approach has a time complexity of O(n), where n is the number of items in the dictionary. The list comprehension has a time complexity of O(n), where n is the number of items in the dictionary. The join() method has a time complexity of O(n), where n is the length of the resulting string.
Space Complexity: O(n). This approach creates a list of strings using a list comprehension, which has a space complexity of O(n), where n is the number of items in the dictionary. The join() method also creates a new string object, which has a space complexity of O(n), where n is the length of the resulting string.
Please Login to comment...