dict.keys() and dict.values() are always the same order, is it?
cs at zip.com.au
Tue Apr 20 05:52:04 CEST 2010
On 20Apr2010 11:03, Menghan Zheng <menghan412 at gmail.com> wrote:
| Is it assured the following statement is always True?
| If it is always True, in which version, python2.x or python3.x?
| >>> a = dict()
| >>> assert(a.values == [a[k] for k in a.keys()])
| --> ?
It is always true. At this URL:
If items(), keys(), values(), iteritems(), iterkeys(), and
itervalues() are called with no intervening modifications to the
dictionary, the lists will directly correspond. This allows the
creation of (value, key) pairs using zip(): pairs = zip(d.values(),
BTW, I got to that particular piece of text by starting at the doco for
the .values() method of "dict", which links to the .items() method.
Cameron Simpson <cs at zip.com.au> DoD#743
I couldn't think of anything else to do with it, so I put it on the web.
More information about the Python-list