Reply to post 'Tryign to add a valkue to a set'

Ulrich Eckhardt ulrich.eckhardt at dominolaser.com
Mon Jun 10 10:58:15 EDT 2013


Am 10.06.2013 15:37, schrieb Νικόλαος Κούρας:
> Τη Δευτέρα, 10 Ιουνίου 2013 4:14:33 μ.μ. UTC+3, ο χρήστης Ulrich Eckhardt έγραψε:
>> Am 10.06.2013 12:57, schrieb Νικόλαος Κούρας:
>>
>>>>Τη Δευτέρα, 10 Ιουνίου 2013 12:40:01 μ.μ. UTC+3, ο χρήστης Ulrich
>>> Eckhardt έγραψε:
>>
>>>
>>
>>> for key in sorted( months.keys() ):
>>
>>>           print('''
>>
>>>                   <option value="%s"> %s </option>
>>
>>>           ''' % (months[key], key) )
>>
>>>
>>
>>> this in fact works, it sorts the dict by its keys()
>>
>>
>>
>> No, it does not sort the dict. Please slow down, relax and take a look
>> at the documentation of sorted(). You are jumping to conclusions based
>> on flawed expectations and assumptions, which can only yield garbage in
>> the end.
>
> it doe ssort the dict at least for keys() why not for values() too?

Well, because it does not sort the dict, it sorts the sequence that you 
pass into sorted(). The dictionary that you retrieved from is not 
modified. Which part of the documentation is unclear to you? Did you 
even bother reading the docs?


> for key in sorted( months.keys() ):
>           print('''
>                   <option value="%s"> %s </option>
>           ''' % (months[key], key) )
>
> this in fact works, it sorts the dict by its keys() was mistaken before
> but the sorting aint correct because its done alphabetically and not by
> integer value.

Listen: Computers will always do what you tell them to. If you tell them 
garbage, they will do garbage. If that is not what you want them to do, 
it's your own fault. That means that you have to precisely(!!!) describe 
what you want when talking to a computer. The computer will not try to 
guess what you might have wanted.

Now, the above claim, that "it sorts the dict by its keys()" is simply 
wrong. Instead, it outputs the dictionary's elements sorted by their 
key. There is a fine distinction between the two. I know what you mean, 
because I'm a human being and I can copy with your vague description, 
but the computer doesn't.

Good luck, I'm outta here....

Uli




More information about the Python-list mailing list