Skip to content
Related Articles

Related Articles

Improve Article

Combine similar characters in Python using Dictionary Get() Method

  • Last Updated : 28 Jul, 2020

Let us see how to combine similar characters in a list.

Example :

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Input : [‘g’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ‘e’, ‘k’, ‘s’]
Output : [‘gg’, ‘eeee’, ‘kk’, ‘ss’, ‘f’, ‘o’, ‘r’]



We will be using the get() method of the dictionary class.

dictionary.get()

The get() method returns the value of the item with the specified key.

Syntax : dictionary.get(key name, value)
Parameters :

  • keyname : The key name of the dictionary item.
  • value : (Optional) If the specified key does not exist, then a value is returned.

Returns : Value of the item with the specified key

Algorithm :

  1. Declare the list.
  2. Declare a dictionary.
  3. Iterate over the list, using the get() method, if a new key is found, then the value 0 is assigned to it and 1 is added making the final value 1. Else if the key is repeated, then 1 is added to the previously calculated value. So this way, now each key has a value assigned to it, and frequency of all characters is recorded.
  4. Separate all the keys and the values and store them in 2 different lists.
  5. Use the zip() function store the product of keys and their respective values in the result list.
  6. Display the result.

Example 1 :




# declaring the list of characters
mylist = ['g', 'e', 'e', 'k', 's', 'f'
          'o', 'r', 'g', 'e', 'e', 'k', 's'
  
# declaring the dictionary
dictionary = {} 
  
# counting the frequency of the keys
for key in mylist: 
    dictionary[key] = dictionary.get(key, 0) + 1
  
# storing the of keys and values
k = list(dictionary.keys())
v = list(dictionary.values())
  
# declaring the reslt list
result = []
  
# storing the product of keys and 
# their respective values in result
for i, j in zip(k, v):
    result.append(i * j)
      
# displaying the result
print(result)

Output :

['gg', 'eeee', 'kk', 'ss', 'f', 'o', 'r']

Example 2 :




# declaring the list of characters
mylist = ['p', 'y', 't', 'h', 'o', 'n', 't'
          'u', 't', 'o', 'r', 'i', 'a', 'l']
  
# declaring the dictionary
dictionary = {} 
  
# counting the frequency of the keys
for key in mylist: 
    dictionary[key] = dictionary.get(key, 0) + 1
  
# storing the of keys and values
k = list(dictionary.keys())
v = list(dictionary.values())
  
# declaring the reslt list
result = []
  
# storing the product of keys and 
# their respective values in result
for i, j in zip(k, v):
    result.append(i * j)
      
# displaying the result
print(result)

Output :

['a', 'h', 'i', 'l', 'n', 'oo', 'p', 'r', 'ttt', 'u', 'y']



My Personal Notes arrow_drop_up
Recommended Articles
Page :