How to check if my list has an item from another list(dictionary)?
Question: I'm a beginner in programming with python, and I've got a question which may
have an easy answer.

So I have a dictionary of words which is imported from a .txt file, next my
program asks you to type a sentence, and then it saves every word which you've
typed into another list.

I have to write a program which checks if every word of a list named
`sentence_list` is in the list which is named `words`. If the word is not
present in the dictionary I have to put it in another list which is being
filled by all the words that are mistyped or not in the dictionary.

For easier understanding, my program should work something like that:

    
    
    Type your sentence:
    My naeme is John, I lieve in Italy, which is beatiful country.
    
    
    
    ['naeme', 'lieve', 'beatiful']
    

This is what I could do until now:

    
    
    words = open("dictionary.txt", encoding="latin2").read().lower().split()
    
    sentence=input("Type your sentence: ")
    
    import re
    
    sentence_list = re.findall("\w+", sentence.lower())
    

I know I have to do something with for, but for is different in python that it
is in Javascript, which I am familiar with.


Answer: **Using sets**

You could use sets to find all of the words not in the dictionary list.

    
    
    >>> set([1,2,3]).difference([2,3])
    set([1])
    

Note that this will not include duplicates.

So for you, it would be something like this (if you need the result to be a
list):

    
    
    misspelled_word_list = list( set(sentence_list).difference(words) )
    

**Using for**

Since you are required to use `for`, here is an alternate (less efficient)
approach:

    
    
    misspelled_word_list = []
    for word in sentence_list:
        if (not word in misspelled_word_list) and (not word in words):
            misspelled_word_list.append(word)
    

You just loop over the words in `sentence_list` and check whether they are in
your `words` list or not.

