bpo-29453: Remove reference to undefined dictionary ordering in Tutorial (GH-140) (#208)
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 32e8f9bdfd4324f1aa4fbbdf1ed8536f2b00cabb)
diff --git a/Doc/tutorial/controlflow.rst b/Doc/tutorial/controlflow.rst
index d434618..6a9bb48 100644
--- a/Doc/tutorial/controlflow.rst
+++ b/Doc/tutorial/controlflow.rst
@@ -492,8 +492,7 @@
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::
@@ -513,13 +512,13 @@
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: