]> granicus.if.org Git - python/commitdiff
Mention setdefault() method for dicts
authorAndrew M. Kuchling <amk@amk.ca>
Wed, 16 Aug 2000 02:52:37 +0000 (02:52 +0000)
committerAndrew M. Kuchling <amk@amk.ca>
Wed, 16 Aug 2000 02:52:37 +0000 (02:52 +0000)
Doc/whatsnew/whatsnew20.tex

index 9211e64f66d83bd5ca439808001dbc88f25e6dc0..7cc9913c233cb33f7f82b140b65e8623d4399e7f 100644 (file)
@@ -556,6 +556,22 @@ added to the \module{sys} module.  \code{sys.version_info} is a tuple
 \var{level} is a string such as \code{"alpha"}, \code{"beta"}, or
 \code{""} for a final release.
 
+Dictionaries have an odd new method, \method{setdefault(\var{key},
+\var{default})}, which behaves similarly to the existing
+\method{get()} method.  However, if the key is missing,
+\method{setdefault()} both returns the value of \var{default} as
+\method{get()} would do, and also inserts it into the dictionary as
+the value for \var{key}.  Thus, the following lines of code:
+
+\begin{verbatim}
+if dict.has_key( key ): return dict[key]
+else: 
+    dict[key] = []
+    return dict[key]
+\end{verbatim}
+
+can be reduced to a single \code{return dict.setdefault(key, [])} statement.
+
 % ======================================================================
 \section{Extending/Embedding Changes}