dictionary issue (and maybe PEP ... depending on the answer)
dsavitsk
dsavitsk at ecpsoftware.com
Mon Jun 2 01:45:32 EDT 2003
(Python 2.2.1 on FreeBSD 4.7 being used via mod_python 3)
I have a dictionary at the top of a module that looks like this
_months = {1: 'January',
2: 'February',
3: 'March',
4: 'April',
5: 'May',
6: 'June',
7: 'July',
8: 'August',
9: 'September',
10: 'October',
11: 'November',
12: 'December'}
never mind, for now, that there are proably better ways to do what the
dict obviously does. anyhow, I get a list of the months by doing this
>>> [_months[i] for i in _months.keys()]
The issue is, this consistently returns the months in order. I don't see
any obvious reason that it does, but I can't get it to fail. So,I am
wondering if there is a reason, or is it serendipity.
Assuming that there is not a good reason, the PEP idea is adding a
sorted_keys() method to dictionaries which would just return the keys in
the same order they would be in by doing this.
>>> l = d.keys()
>>> l.sort()
The advantage is that using dictionary keys in list comprehensions would
be easier, but other than that it is not too big a deal.
Thanks,
Doug
More information about the Python-list
mailing list