Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

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

Ryan Cross
Ryan Cross
5,742 Points

word_count challenge

I built my script and tested it. its working. tested it against the example argument and it returned the same as the example return. I'm missing something and I'm quite stuck. is it puncuation?

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.

def word_count(string):
    lower=string.lower()
    str_list=lower.split(" ") #this is the list of words lower cased
    dicto={}
    for item in str_list:
        if item in dicto.keys():
            dicto[item]+=1
        else:
            dicto[item]=1
    return(dicto)

1 Answer

it is the split(" ") vs split() problem

Ryan Cross
Ryan Cross
5,742 Points

Kobi thanks...I was sooo stuck. After you yanked me out of the ditch i googled it and saw the docs again on split() Thanks

If sep is not specified or is None, a different splitting algorithm is applied: runs of consecutive whitespace are regarded as a single separator, and the result will contain no empty strings at the start or end if the string has leading or trailing whitespace. Consequently, splitting an empty string or a string consisting of just whitespace with a None separator returns [].