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 Membership

Kathleen Rauh
Kathleen Rauh
1,785 Points

Is my function not defined properly?

I get Bummer! Where's members()?

counts.py
# You can check for dictionary membership using the
# "key in dict" syntax from lists.

### Example
# my_dict = {'apples': 1, 'bananas': 2, 'coconuts': 3}
# my_list = ['apples', 'coconuts', 'grapes', 'strawberries']
# members(my_dict, my_list) => 2

def members(my_dict, my_list):
  for key in my_dict:
    if key in my_list:
      count += 1
  return count

3 Answers

Chase Marchione
Chase Marchione
155,055 Points

Hi Kathleen,

  • You'll want to make sure that your count starts at 0, so that the first time a key is found the count becomes 1, and that the next time a key is found it'll go up to 2, and so on.

  • The way I completed the task: I had the for loop check if the key is in the list. Then, within that for loop, I had the if statement check if that key is among the dictionary's keys.

def members(my_dict, my_list):
  count = 0
  for key in my_list:
    if key in my_dict.keys():
      count += 1
  return count

Hope this helps!

Kathleen Rauh
Kathleen Rauh
1,785 Points

Still struggling. After making changes, and "earning" several other bummers, I'm again getting the "Where's members()" bummer.

Here's the code: count = 0 def members(my_dict, my_list): for key in my_list: if key in my_dict.keys(): count += 1 return count

Chase Marchione
Chase Marchione
155,055 Points

Make sure that your count initialization statement comes after the function header: you want to initialize count within the function (but not within the for loop.)

Andrea Campos
Andrea Campos
4,743 Points

Hey Kathleen! I'm stuck with the same problem. I get "Where's members()?" How did you get through this? Thank you! A.