> 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'] > Dictionaries are unordered, which is why you got the output above (converted from a dict to a list).
>>>> ";".join(["%s=%s" % (k, v) for k, v in params.items()]) > > 'pwd=secret;database=master;uid=sa;server=mpilgrim' > example when 'sorted': >>> 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'] >>> ['%s=%s' % (k, v) for k, v in (sorted(params.items()))] ['database=master', 'pwd=secret', 'server=mpilgrim', 'uid=sa'] >>> _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor