On Mon, 10 Jun 2013 03:42:38 -0700, Νικόλαος Κούρας wrote:

> for key in sorted( months.values() ):
>       print('''
>               <option value="%s"> %s </option>
>       ''' % (months[key], key) )
> ==============
> 
> please tell me Uli why this dont work as expected to.

Because inside the for loop, your value 'key' is an item from the sorted 
list of the values part of months. When you use months[key], you're 
trying to look up in months based on the value part, not the key part. 
Calling it key is confusing you.

Try this:

things = { "a":1, "b":3, "c":2 }

for thing in sorted( things.values() ):
        print thing

>> Prints 1, 2, 3

for thing in sorted( things.keys() ):
        print thing

>> Prints a, b, c

Now although things["b"] is a valid reference because "b" is a key in a 
key - value pair, things[3] is not a valid reference, because 3 is not a 
key in a key - value pair.

-- 
Denis McMahon, denismfmcma...@gmail.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to