* WP <no.i.d...@want.mail.from.spammers.com> [2009-04-13 17:03:17 +0200]:

> Hello, I have dictionary {1:"astring", 2:"anotherstring", etc}
>
> I now want to print:
> "Press 1 for astring"
> "Press 2 for anotherstring" etc
>
> I could do it like this:
> dict = {1:'astring', 2:'anotherstring'}
> for key in dict.keys():
>     print 'Press %i for %s' % (key, dict[key])
>
> Press 1 for astring
> Press 2 for anotherstring
>
> but can I use a join instead?
>
> Thanks for any replies!

First off, you shouldn't use 'dict' as a variable name, as it shadows
the built-in 'dict'.

If you really want to obfuscate this, you could use:

my_dict = {1: 'astring', 2: 'anotherstring'}
print "\n".join('Press %i for %s' % (key, value) for key, value in 
my_dict.items())

I find this highly ugly and non readable, though.

HTH,
-- 
Nicolas Dandrimont

"sic transit discus mundi"
(From the System Administrator's Guide, by Lars Wirzenius)

Attachment: signature.asc
Description: Digital signature

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to