Commit d7b86d90 authored by Martin Panter's avatar Martin Panter

Issue #23406: Merge 3.4 into 3.5

parents 0ad584c7 146794b4
...@@ -1164,6 +1164,8 @@ analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is ...@@ -1164,6 +1164,8 @@ analogue of lisp car is ``lisp_list[0]`` and the analogue of cdr is
usually a lot slower than using Python lists. usually a lot slower than using Python lists.
.. _faq-multidimensional-list:
How do I create a multidimensional list? How do I create a multidimensional list?
---------------------------------------- ----------------------------------------
......
...@@ -854,8 +854,8 @@ operations have the same priority as the corresponding numeric operations. ...@@ -854,8 +854,8 @@ operations have the same priority as the corresponding numeric operations.
| ``s + t`` | the concatenation of *s* and | (6)(7) | | ``s + t`` | the concatenation of *s* and | (6)(7) |
| | *t* | | | | *t* | |
+--------------------------+--------------------------------+----------+ +--------------------------+--------------------------------+----------+
| ``s * n`` or | *n* shallow copies of *s* | (2)(7) | | ``s * n`` or | equivalent to adding *s* to | (2)(7) |
| ``n * s`` | concatenated | | | ``n * s`` | itself *n* times | |
+--------------------------+--------------------------------+----------+ +--------------------------+--------------------------------+----------+
| ``s[i]`` | *i*\ th item of *s*, origin 0 | \(3) | | ``s[i]`` | *i*\ th item of *s*, origin 0 | \(3) |
+--------------------------+--------------------------------+----------+ +--------------------------+--------------------------------+----------+
...@@ -897,9 +897,9 @@ Notes: ...@@ -897,9 +897,9 @@ Notes:
(2) (2)
Values of *n* less than ``0`` are treated as ``0`` (which yields an empty 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; sequence of the same type as *s*). Note that items in the sequence *s*
nested structures are not copied. This often haunts new Python programmers; are not copied; they are referenced multiple times. This often haunts
consider:: new Python programmers; consider::
>>> lists = [[]] * 3 >>> lists = [[]] * 3
>>> lists >>> lists
...@@ -909,7 +909,7 @@ Notes: ...@@ -909,7 +909,7 @@ Notes:
[[3], [3], [3]] [[3], [3], [3]]
What has happened is that ``[[]]`` is a one-element list containing an empty 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. list. Modifying any of the elements of ``lists`` modifies this single list.
You can create a list of different lists this way:: You can create a list of different lists this way::
...@@ -920,6 +920,9 @@ Notes: ...@@ -920,6 +920,9 @@ Notes:
>>> lists >>> lists
[[3], [5], [7]] [[3], [5], [7]]
Further explanation is available in the FAQ entry
:ref:`faq-multidimensional-list`.
(3) (3)
If *i* or *j* is negative, the index is relative to the end of the string: 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 ``len(s) + i`` or ``len(s) + j`` is substituted. But note that ``-0`` is
......
...@@ -1127,6 +1127,7 @@ Martin Pool ...@@ -1127,6 +1127,7 @@ Martin Pool
Iustin Pop Iustin Pop
Claudiu Popa Claudiu Popa
John Popplewell John Popplewell
Matheus Vieira Portela
Davin Potts Davin Potts
Guillaume Pratte Guillaume Pratte
Florian Preinstorfer Florian Preinstorfer
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment