[Tutor] newbie question

Trilok Khairnar trilokgk at gmail.com
Mon Oct 15 17:35:22 CEST 2007


Either of the following should do it:

    print string.join([menu_specials[val] for val in menu_specials], ', ')
or
    print string.join([menu_specials[val] for val in menu_specials.keys()],
', ')
or
    print string.join([menu_specials[val] for val in ["breakfast", "lunch",
"dinner"]  ], ', ')

Thanks,
Trilok.

________________________________

From: tutor-bounces at python.org [mailto:tutor-bounces at python.org] On Behalf
Of Ramkumar Kashyap
Sent: Monday, October 15, 2007 8:32 PM
To: tutor at python.org
Subject: [Tutor] newbie question


Hi all,

I have just started learning to program and am working through the Beginning
Python from Wrox.

I am working through one of the examples in the books on dictionaries. Here
is the example.

>>> menu_specials = {"breakfast" : "sausage and eggs",
... "lunch" : "split pea soup and garlic bread",
... "dinner": "2 hot dogs and onion rings"}
>>> print "%s" % menu_specials["breakfast"]
sausage and eggs
>>> print "%s" % menu_specials["lunch"]
split pea soup and garlic bread
>>> print "%s" % menu_specials["dinner"]
2 hot dogs and onion rings

I am trying to print out the entire dictionary but am getting an error.
print "%s %s %s" % menu_specials["breakfast", "lunch", "dinner"]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
KeyError: ('breakfast', 'lunch', 'dinner')

I also tried
print "%s %s %s" % menu_specials["breakfast"], menu_specials["lunch"],
menu_specials["dinner"]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: not enough arguments for format string

What is the correct syntax to output breakfast, lunch and dinner with one
command?

thanks,

Ram








More information about the Tutor mailing list