Visitar URL original
[3.6] bpo-29453: Remove reference to undefined dictionary ordering in Tutor… by Mariatta · Pull Request #208 · python/cpython · GitHub
Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
bpo-29453: Remove reference to undefined dictionary ordering in Tutor…
…ial (GH-140)

As of Python 3.6 **kwargs are ordered, thus, remove the paragraph stating that
ordering is undefined and change snippet to remove the unecessary sorted call.

* Add sentence mentioning guaranteed output order of kwargs

(cherry picked from commit 32e8f9b)
  • Loading branch information
DimitrisJim authored and Mariatta committed Feb 21, 2017
commit 966cd111e5fc11f4f0bb973b97229b6d220f281e
11 changes: 5 additions & 6 deletions Doc/tutorial/controlflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -492,8 +492,7 @@ function like this::
for arg in arguments:
print(arg)
print("-" * 40)
keys = sorted(keywords.keys())
for kw in keys:
for kw in keywords:
print(kw, ":", keywords[kw])

It could be called like this::
Expand All @@ -513,13 +512,13 @@ and of course it would print:
It's very runny, sir.
It's really very, VERY runny, sir.
----------------------------------------
client : John Cleese
shopkeeper : Michael Palin
client : John Cleese
sketch : Cheese Shop Sketch

Note that the list of keyword argument names is created by sorting the result
of the keywords dictionary's ``keys()`` method before printing its contents;
if this is not done, the order in which the arguments are printed is undefined.
Note that the order in which the keyword arguments are printed is guaranteed
to match the order in which they were provided in the function call.


.. _tut-arbitraryargs:

Expand Down