From 0eec08794cae1aad449a95ff3aa9c8bbbc3fad9b Mon Sep 17 00:00:00 2001
From: Raymond Hettinger <python@rcn.com>
Date: Fri, 8 Aug 2003 23:32:46 +0000
Subject: Explain argument unpacking

---
 Doc/tut/tut.tex | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 659ffb7..0a26d6b 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -1577,6 +1577,24 @@ def fprintf(file, format, *args):
 \end{verbatim}
 
 
+\subsection{Unpacking Argument Lists \label{unpacking-arguments}}
+
+The reverse situation occurs when the arguments are already in a list
+or tuple but need to be unpacked for a function call requiring separate
+positional arguments.  For instance, the built-in \function{range()}
+function expects separate \var{start} and \var{stop} arguments.  If they
+are not available separately, write the function call with the 
+\code{*}-operator to unpack the arguments out of a list or tuple:
+
+\begin{verbatim}
+>>> range(3, 6)             # normal call with separate arguments
+[3, 4, 5]
+>>> args = [3, 6]
+>>> range(*args)            # call with arguments unpacked from a list
+[3, 4, 5]
+\end{verbatim}
+
+
 \subsection{Lambda Forms \label{lambda}}
 
 By popular demand, a few features commonly found in functional
-- 
cgit v0.12

