Python program to find uncommon words from two Strings

Given two sentences as strings A and B. The task is to return a list of all uncommon words. A word is uncommon if it appears exactly once in any one of the sentences, and does not appear in the other sentence.

Note: A sentence is a string of space separated words. Each word consists only of lowercase letters.

Examples:

Input : A = "Geeks for Geeks" 
        B = "Learning from Geeks for Geeks"
Output : ['Learning', 'from']

Input : A = "apple banana mango" 
        B = "banana fruits mango"
Output : ['apple', 'fruits']

Approach: Every uncommon word occurs exactly once in any one of the strings. So, we make a hash to count the number of occurrences of every word, then return list of words that occurs exactly once.

Below is the implementation of above approach:

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to find list of uncommon words
  
# Function to return all uncommon words
def UncommonWords(A, B):
  
    # count will contain all the word counts
    count = {}
      
    # insert words of string A to hash
    for word in A.split():
        count[word] = count.get(word, 0) + 1
      
    # insert words of string B to hash
    for word in B.split():
        count[word] = count.get(word, 0) + 1
  
    # return required list of words
    return [word for word in count if count[word] == 1]
  
# Driver Code
A = "Geeks for Geeks"
B = "Learning from Geeks for Geeks"
  
# Print required answer
print(UncommonWords(A, B))

chevron_right


Output:

['Learning', 'from']


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.