[Python-checkins] python/dist/src/Doc/lib libstdtypes.tex, 1.167, 1.168

arigo at users.sourceforge.net arigo at users.sourceforge.net
Thu Nov 4 12:29:11 CET 2004


Update of /cvsroot/python/python/dist/src/Doc/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3077

Modified Files:
	libstdtypes.tex 
Log Message:
Mistakes in the "sequence types" page:

* explanation for example with lists of lists made confusing use of
  the word "contains" to mean "is built out of".

* wrong formula for slices with step.  Is it ok to use LaTeX formulas
  (which become images in the html document)?  This version needs one
  because it's based on a fraction.  Just writing "\code{(j-i)/k}" here would
  be ambiguous because it looks like a rounding-down-to-the-previous-integer
  division, which is not what we need here.  Of course we could write
  "\code{float(j-i)/k}" but it just looks confusing.


Index: libstdtypes.tex
===================================================================
RCS file: /cvsroot/python/python/dist/src/Doc/lib/libstdtypes.tex,v
retrieving revision 1.167
retrieving revision 1.168
diff -u -d -r1.167 -r1.168
--- libstdtypes.tex	8 Oct 2004 01:52:15 -0000	1.167
+++ libstdtypes.tex	4 Nov 2004 11:29:09 -0000	1.168
@@ -501,10 +501,11 @@
 [[3], [3], [3]]
 \end{verbatim}
 
-  What has happened is that \code{lists} is a list containing three
-  copies of the list \code{[[]]} (a one-element list containing an
-  empty list), but the contained list is shared by each copy.  You can
-  create a list of different lists this way:
+  What has happened is that \code{[[]]} is a one-element list containing
+  an empty list, so all three elements of \code{[[]] * 3} are (pointers to)
+  this single empty list.  Modifying any of the elements of \code{lists}
+  modifies this single list.  You can create a list of different lists this
+  way:
 
 \begin{verbatim}
 >>> lists = [[] for i in range(3)]
@@ -529,8 +530,10 @@
 
 \item[(5)] The slice of \var{s} from \var{i} to \var{j} with step
   \var{k} is defined as the sequence of items with index 
-  \code{\var{x} = \var{i} + \var{n}*\var{k}} such that \code{0}
-  \code{<=} \var{n} \code{<} \code{abs(i-j)}.  If \var{i} or \var{j}
+  \code{\var{x} = \var{i} + \var{n}*\var{k}} such that
+  $0 \leq n < \frac{j-i}{k}$.  In other words, the indices
+  are \code{i}, \code{i+k}, \code{i+2*k}, \code{i+3*k} and so on, stopping when
+  \var{j} is reached (but never including \var{j}).  If \var{i} or \var{j}
   is greater than \code{len(\var{s})}, use \code{len(\var{s})}.  If
   \var{i} or \var{j} are omitted then they become ``end'' values
   (which end depends on the sign of \var{k}).  Note, \var{k} cannot



More information about the Python-checkins mailing list