From c26467d53f8c0805a59cd1a4aea13a04e21f0502 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 29 Jan 2002 14:53:30 +0000 Subject: 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. --- Doc/tut/tut.tex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex index 608388b..27f33c9 100644 --- a/Doc/tut/tut.tex +++ b/Doc/tut/tut.tex @@ -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}} -- cgit v0.12