Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Getting an Error Hmm not finding the correct output did you remember to lowercase the string and split on whitespace

So with a bit of research on the forums here I found the answer and It was two fold I was not splitting on the whitespaces. (ie .split() native behavior) and I was not lowercasing the string at the proper location so my list variable should of been list = string.lower().split(), I would like to hear others take on this challenge and would like to find a more elegant solution maybe discuss how this may be done with packing a dictionary. or with the dict() function. Thanks for your time

wordcount.py
# 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.
string = "So So this is just a taste is just taste of what prob prob"
def word_count(string):
    list = string.split(" ")
    diction ={}
    for item in list:
        diction[item] = list.count(item)
    return diction


word_count(string.lower())

1 Answer

string = "So So this is just a taste is just taste of what prob prob"
def word_count(string):
    list = string.lower().split()
    diction ={}
    for item in list:
        diction[item] = list.count(item)
    return diction


word_count(string)