diff options
author | hui shang <shangdahao@gmail.com> | 2018-04-04 04:55:05 (GMT) |
---|---|---|
committer | INADA Naoki <methane@users.noreply.github.com> | 2018-04-04 04:55:05 (GMT) |
commit | dfbbbf16f9aab82330c634913441b5ac73267d9c (patch) | |
tree | 96c5ea7f1aed7be317d45bc1e101dfc62e6357a0 /Doc/library | |
parent | c869529ea9fbed574d34cf7ac139ca3f81b62ef0 (diff) | |
download | cpython-dfbbbf16f9aab82330c634913441b5ac73267d9c.zip cpython-dfbbbf16f9aab82330c634913441b5ac73267d9c.tar.gz cpython-dfbbbf16f9aab82330c634913441b5ac73267d9c.tar.bz2 |
bpo-32337: Update documentats about dict order (GH-4973)
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/stdtypes.rst | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst index ad7f578..a213189 100644 --- a/Doc/library/stdtypes.rst +++ b/Doc/library/stdtypes.rst @@ -4256,17 +4256,17 @@ support membership tests: Return an iterator over the keys, values or items (represented as tuples of ``(key, value)``) in the dictionary. - Keys and values are iterated over in an arbitrary order which is non-random, - varies across Python implementations, and depends on the dictionary's history - of insertions and deletions. If keys, values and items views are iterated - over with no intervening modifications to the dictionary, the order of items - will directly correspond. This allows the creation of ``(value, key)`` pairs + Keys and values are iterated over in insertion order. + This allows the creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d.values(), d.keys())``. Another way to create the same list is ``pairs = [(v, k) for (k, v) in d.items()]``. Iterating views while adding or deleting entries in the dictionary may raise a :exc:`RuntimeError` or fail to iterate over all entries. + .. versionchanged:: 3.7 + Dict order is guaranteed to be insertion order. + .. describe:: x in dictview Return ``True`` if *x* is in the underlying dictionary's keys, values or @@ -4293,9 +4293,9 @@ An example of dictionary view usage:: >>> print(n) 504 - >>> # keys and values are iterated over in the same order + >>> # keys and values are iterated over in the same order (insertion order) >>> list(keys) - ['eggs', 'bacon', 'sausage', 'spam'] + ['eggs', 'sausage', 'bacon', 'spam'] >>> list(values) [2, 1, 1, 500] @@ -4303,7 +4303,7 @@ An example of dictionary view usage:: >>> del dishes['eggs'] >>> del dishes['sausage'] >>> list(keys) - ['spam', 'bacon'] + ['bacon', 'spam'] >>> # set operations >>> keys & {'eggs', 'bacon', 'salad'} |