Skip to content
Related Articles
Open in App
Not now

Related Articles

Python – Concatenate Dictionary string values

Improve Article
Save Article
Like Article
  • Last Updated : 24 Mar, 2023
Improve Article
Save Article
Like Article

Sometimes, while working with dictionaries, we might have utility problem in which we need to perform elementary operation among the common keys of dictionaries. This can be extended to any operation to be performed. Let’s discuss string concatenation of like key values and ways to solve it in this article. Method #1 : Using dictionary comprehension + keys() The combination of above two can be used to perform this particular task. This is just a shorthand to the longer method of loops and can be used to perform this task in one line. 

Python3




# Python3 code to demonstrate working of
# Concatenate Dictionary string values
# Using dictionary comprehension + keys()
 
# Initialize dictionaries
test_dict1 = {'gfg' : 'a', 'is' : 'b', 'best' : 'c'}
test_dict2 = {'gfg' : 'd', 'is' : 'e', 'best' : 'f'}
 
# printing original dictionaries
print("The original dictionary 1 : " + str(test_dict1))
print("The original dictionary 2 : " + str(test_dict2))
 
# Using dictionary comprehension + keys()
# Concatenate Dictionary string values
res = {key: test_dict1[key] + test_dict2.get(key, '') for key in test_dict1.keys()}
 
# printing result
print("The string concatenation of dictionary is : " + str(res))

Output : 

The original dictionary 1 : {'gfg': 'a', 'is': 'b', 'best': 'c'}
The original dictionary 2 : {'gfg': 'd', 'is': 'e', 'best': 'f'}
The string concatenation of dictionary is : {'gfg': 'ad', 'is': 'be', 'best': 'cf'}

  Method #2 : Using Counter() + “+” operator The combination of above method can be used to perform this particular task. In this, the Counter function converts the dictionary in the form in which the plus operator can perform the task of concatenation. 

Python3




# Python3 code to demonstrate working of
# Concatenate Dictionary string values
# Using Counter() + "+" operator
from collections import Counter
 
# Initialize dictionaries
test_dict1 = {'gfg' : 'a', 'is' : 'b', 'best' : 'c'}
test_dict2 = {'gfg' : 'd', 'is' : 'e', 'best' : 'f'}
 
# printing original dictionaries
print("The original dictionary 1 : " + str(test_dict1))
print("The original dictionary 2 : " + str(test_dict2))
 
# Using Counter() + "+" operator
# Concatenate Dictionary string values
temp1 = Counter(test_dict1)
temp2 = Counter(test_dict2)
res = Counter({key : temp1[key] + temp2[key] for key in temp1})
 
# printing result
print("The string concatenation of dictionary is : " + str(dict(res)))

Output : 

The original dictionary 1 : {'gfg': 'a', 'is': 'b', 'best': 'c'}
The original dictionary 2 : {'gfg': 'd', 'is': 'e', 'best': 'f'}
The string concatenation of dictionary is : {'gfg': 'ad', 'is': 'be', 'best': 'cf'}

 concatenate dictionary string values:

Approach:

Iterate over each key in dict1.
For each key, get the corresponding value from dict1 and dict2 and concatenate them using the + operator.
Add the key-value pair to the concatenated_dict dictionary.
Return the concatenated_dict dictionary.

Python3




dict1 = {'gfg': 'a', 'is': 'b', 'best': 'c'}
dict2 = {'gfg': 'd', 'is': 'e', 'best': 'f'}
 
concatenated_dict = {key: dict1[key] + dict2[key] for key in dict1}
print(concatenated_dict)

Output

{'gfg': 'ad', 'is': 'be', 'best': 'cf'}

Time complexity: The time complexity of this approach is O(n)

Space complexity: The space complexity of this approach is O(n)


My Personal Notes arrow_drop_up
Like Article
Save Article
Related Articles

Start Your Coding Journey Now!