Skip to content
Related Articles

Related Articles

Improve Article

Find the first repeated word in a string in Python using Dictionary

  • Difficulty Level : Easy
  • Last Updated : 23 Nov, 2020

Prerequisite : Dictionary data structure

Given a string, Find the 1st repeated word in a string.
Examples:

Input : "Ravi had been saying that he had been there"
Output : had
 
Input : "Ravi had been saying that"
Output : No Repetition

Input : "he had had he"
Output : he

We have existing solution for this problem please refer Find the first repeated word in a string link. We can solve this problem quickly in python using Dictionary data structure. Approach is simple,

  1. First split given string separated by space.
  2. Now convert list of words into dictionary using collections.Counter(iterator) method. Dictionary contains words as key and it’s frequency as value.
  3. Now traverse list of words again and check which first word has frequency greater than 1.




# Function to Find the first repeated word in a string 
from collections import Counter 
  
def firstRepeat(input): 
      
    # first split given string separated by space 
    # into words 
    words = input.split(' '
      
    # now convert list of words into dictionary 
    dict = Counter(words) 
  
    # traverse list of words and check which first word 
    # has frequency > 1 
    for key in words: 
        if dict[key]>1
            print (key) 
            return
  
# Driver program 
if __name__ == "__main__"
    input = 'Ravi had been saying that he had been there'
    firstRepeat(input

Output:

had

 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

My Personal Notes arrow_drop_up
Recommended Articles
Page :