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 (Retired) Dictionaries Word Count

gibran erlangga
gibran erlangga
5,539 Points

word_count challenge

need a little help here guys.

I got stuck in this challenge for hours, and still cant find any solution. Anyone?

Attached is my latest code. Thanks guys!

# E.g. word_count("I am that I am") gets back a dictionary like:
# {'i': 2, 'am': 2, 'that': 1}
# Lowercase the string to make it easier.
# Using .split() on the sentence will give you a list of words.
# In a for loop of that list, you'll have a word that you can
# check for inclusion in the dict (with "if word in dict"-style syntax).
# Or add it to the dict with something like word_dict[word] = 1.

some_dict = {'a': 1, 'b': 2, 'c': 3}

key_list = ['a', 'b', 'd']

def word_count(some_dict, key_list):
  counts = 0
  for item in key_list:
    if item in some_dict.keys():
      counts += 1
  return counts

1 Answer

Steven Parker
Steven Parker
230,024 Points

Here's a few hints:

  • you only need to create the function, the challenge will provide the test data
  • your function will take only one argument, a string
  • you will probably want to split the string to help loop through the words
  • your function will build a new dictionary
  • the counts will be kept in the new dictionary
  • you don't need the keys function to check if an item is in the dictionary
  • when the item is not already in the dictionary, a new item with a count of 1 will be added to it
  • remember to return the finished dictionary