On 03/01/2013 02:48 PM, Huperetes wrote:
I am getting the following for my installation.

Why is this happening, and how do I get it to work properly (returning
element 0 - n, versus n - 0)?

Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)]
on win32
Type "help", "copyright", "credits" or "license" for more information.

params = {"server":"mpilgrim", "database":"master", "uid":"sa",
"pwd":"secret"}
["%s=%s" % (k, v) for k, v in params.items()]

['pwd=secret', 'database=master', 'uid=sa', 'server=mpilgrim']

";".join(["%s=%s" % (k, v) for k, v in params.items()])

'pwd=secret;database=master;uid=sa;server=mpilgrim'




A dict has by specification no specific ordering. If you want the data sorted, then sort the data after extracting it. Or use some other type.

>>>> ["%s=%s" % (k, v) for k, v in sorted(params.items())]

the only ordering guarantee that you get from dict is that if you iterate over it twice with no changes to the dict in the meantime, you'll get the same ordering. But what that ordering is, is undefined. It's certainly not the order that things were entered into the dict.


--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to