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 trialDrew Butcher
33,160 PointsExpected 2 got 0
The following code gives me a return of 2 on my computer but Treehouse says they get zero back. Any ideas?
def members(dict, list):
count = 0
for key in dict:
for item in my_list:
if item == key:
count += 1
return count
my_dict = {'apples': 1, 'bananas': 2, 'coconuts': 3}
my_list = ['apples', 'coconuts', 'grapes', 'strawberries']
members(my_dict, my_list)
2 Answers
Ali M Malik
33,293 PointsYou are over-thinking it a bit. You only need to check keys membership in the dict and then check if it's in the list. so your code should look like this, with only one for loop.
def members (dict, list):
count = 0
for key in dict:
if key in list:
count += 1
return count
hope this helps
Drew Butcher
33,160 PointsNever mind I see the problem... call my_list in function.... should have been list
Rob Bridges
Full Stack JavaScript Techdegree Graduate 35,467 PointsGlad to hear it got sorted out Drew, sorry I didn't get to this in time.
Thanks.
Drew Butcher
33,160 PointsDrew Butcher
33,160 PointsNever mind I see the problem... call my_list in function.... should have been list