mirror of
https://github.com/python/cpython
synced 2024-10-08 14:15:18 +00:00
Revise cheeseshop example so that the order of the keyword output is
completely determined by the example; dict insertion order and the string hash algorithm no longer affect the output. This fixes SF bug #509281.
This commit is contained in:
parent
9635d0bd1f
commit
c26467d53f
|
@ -1485,7 +1485,9 @@ def cheeseshop(kind, *arguments, **keywords):
|
|||
print "-- I'm sorry, we're all out of", kind
|
||||
for arg in arguments: print arg
|
||||
print '-'*40
|
||||
for kw in keywords.keys(): print kw, ':', keywords[kw]
|
||||
keys = keywords.keys()
|
||||
keys.sort()
|
||||
for kw in keys: print kw, ':', keywords[kw]
|
||||
\end{verbatim}
|
||||
|
||||
It could be called like this:
|
||||
|
@ -1511,6 +1513,11 @@ shopkeeper : Michael Palin
|
|||
sketch : Cheese Shop Sketch
|
||||
\end{verbatim}
|
||||
|
||||
Note that the \method{sort()} method of the list of keyword argument
|
||||
names is called before printing the contents of the \code{keywords}
|
||||
dictionary; if this is not done, the order in which the arguments are
|
||||
printed is undefined.
|
||||
|
||||
|
||||
\subsection{Arbitrary Argument Lists \label{arbitraryArgs}}
|
||||
|
||||
|
|
Loading…
Reference in a new issue