bpo-34083: Update dict order in Functional HOWTO (GH-8230)

(cherry picked from commit 5e5bbbec46)

Co-authored-by: Stig Johan Berggren <stigjb@gmail.com>
This commit is contained in:
Miss Islington (bot) 2018-07-11 04:21:52 -07:00 committed by GitHub
parent 6b1b6e4385
commit 151820e7a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 11 deletions

View File

@ -273,23 +273,24 @@ dictionary's keys::
>>> m = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6,
... 'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}
>>> for key in m: #doctest: +SKIP
>>> for key in m:
... print(key, m[key])
Mar 3
Jan 1
Feb 2
Aug 8
Sep 9
Mar 3
Apr 4
May 5
Jun 6
Jul 7
Jan 1
May 5
Aug 8
Sep 9
Oct 10
Nov 11
Dec 12
Oct 10
Note that the order is essentially random, because it's based on the hash
ordering of the objects in the dictionary.
Note that starting with Python 3.7, dictionary iteration order is guaranteed
to be the same as the insertion order. In earlier versions, the behaviour was
unspecified and could vary between implementations.
Applying :func:`iter` to a dictionary always loops over the keys, but
dictionaries have methods that return other iterators. If you want to iterate
@ -301,8 +302,8 @@ The :func:`dict` constructor can accept an iterator that returns a finite stream
of ``(key, value)`` tuples:
>>> L = [('Italy', 'Rome'), ('France', 'Paris'), ('US', 'Washington DC')]
>>> dict(iter(L)) #doctest: +SKIP
{'Italy': 'Rome', 'US': 'Washington DC', 'France': 'Paris'}
>>> dict(iter(L))
{'Italy': 'Rome', 'France': 'Paris', 'US': 'Washington DC'}
Files also support iteration by calling the :meth:`~io.TextIOBase.readline`
method until there are no more lines in the file. This means you can read each