Python Python Collections (2016, retired 2019) Dictionaries Word Count

Clayton McDaniels
Clayton McDaniels
1,566 Points

What am I doing wrong?

# E.g. word_count("I do not like it Sam I Am") gets back a dictionary like:
# {'i': 2, 'do': 1, 'it': 1, 'sam': 1, 'like': 1, 'not': 1, 'am': 1}
# Lowercase the string to make it easier.
def word_count(string):
    word = string.lower().split()
    for word in string:
        return {word:word}
print(word_count("I do not like it Sam I Am"))

1 Answer

Josh Keenan
Josh Keenan
19,305 Points

Here's my solution:

def word_count(string):
    dictionary = {}
    word = string.lower().split()
    for i in word:
        dictionary[i] = word.count(i)
    return dictionary

I have taken the input and lowercased it all and then split it. Then I have began a for loop to iterate over each word, it then creates a key if there isn't one, and simply counts the instances of the word in the word list.

Hope this helps