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 trialigsm '
10,440 PointsFunction returns only 1st item of dictionary. How to iterate through all keys and values in function?
Hey Kenneth Love
I play with functions and dictionaries and faced a problem. I want to print in the string all the content of dictionary but it seems like it outputs only first item of the dictionary.
def f():
fixtures = {'Item1': ('a', 'b', ('', '')),
'Item2': ('c', 'd', ('', ''))}
for keys, values in fixtures.iteritems():
return '{} - {} and {} {} - {}'.format(
keys, values[0], values[1],values[2][0], values[2][1])
1 Answer
Chris Freeman
Treehouse Moderator 68,457 PointsRunning in ipython, I noticed two errors. (I added extra data for testing):
- 'dict' object has no attribute 'iteritems'. Change to
items()
-
return
stops the loop on the first interation. Replace withprint()
In [8]: def f():
fixtures = {'Item1': ('a', 'b', ('x', 'y')),
'Item2': ('c', 'd', ('v', 'w'))}
for keys, values in fixtures.items():
print('{} - {} and {} {} - {}'.format(
keys, values[0], values[1],values[2][0], values[2][1]))
...:
In [9]: f()
Item2 - c and d v - w
Item1 - a and b x - y
igsm '
10,440 Pointsigsm '
10,440 Pointsthanks