[Python-checkins] cpython (merge 3.5 -> default): Issue #23406: Merge 3.5 into 3.6
martin.panter
python-checkins at python.org
Mon Sep 7 04:18:11 CEST 2015
https://hg.python.org/cpython/rev/d2b3c7c5ef02
changeset: 97719:d2b3c7c5ef02
parent: 97714:e53df7955192
parent: 97718:f624b7fd3b83
user: Martin Panter <vadmium>
date: Mon Sep 07 02:12:08 2015 +0000
summary:
Issue #23406: Merge 3.5 into 3.6
files:
Doc/faq/programming.rst | 2 ++
Doc/library/stdtypes.rst | 15 +++++++++------
Misc/ACKS | 1 +
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -1164,6 +1164,8 @@
usually a lot slower than using Python lists.
+.. _faq-multidimensional-list:
+
How do I create a multidimensional list?
----------------------------------------
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -854,8 +854,8 @@
| ``s + t`` | the concatenation of *s* and | (6)(7) |
| | *t* | |
+--------------------------+--------------------------------+----------+
-| ``s * n`` or | *n* shallow copies of *s* | (2)(7) |
-| ``n * s`` | concatenated | |
+| ``s * n`` or | equivalent to adding *s* to | (2)(7) |
+| ``n * s`` | itself *n* times | |
+--------------------------+--------------------------------+----------+
| ``s[i]`` | *i*\ th item of *s*, origin 0 | \(3) |
+--------------------------+--------------------------------+----------+
@@ -897,9 +897,9 @@
(2)
Values of *n* less than ``0`` are treated as ``0`` (which yields an empty
- sequence of the same type as *s*). Note also that the copies are shallow;
- nested structures are not copied. This often haunts new Python programmers;
- consider::
+ sequence of the same type as *s*). Note that items in the sequence *s*
+ are not copied; they are referenced multiple times. This often haunts
+ new Python programmers; consider::
>>> lists = [[]] * 3
>>> lists
@@ -909,7 +909,7 @@
[[3], [3], [3]]
What has happened is that ``[[]]`` is a one-element list containing an empty
- list, so all three elements of ``[[]] * 3`` are (pointers to) this single empty
+ list, so all three elements of ``[[]] * 3`` are references to this single empty
list. Modifying any of the elements of ``lists`` modifies this single list.
You can create a list of different lists this way::
@@ -920,6 +920,9 @@
>>> lists
[[3], [5], [7]]
+ Further explanation is available in the FAQ entry
+ :ref:`faq-multidimensional-list`.
+
(3)
If *i* or *j* is negative, the index is relative to the end of the string:
``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is
diff --git a/Misc/ACKS b/Misc/ACKS
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -1127,6 +1127,7 @@
Iustin Pop
Claudiu Popa
John Popplewell
+Matheus Vieira Portela
Davin Potts
Guillaume Pratte
Florian Preinstorfer
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list