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.


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:





# 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))



['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 or mail your article to 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.