[docs] [issue23406] interning and list comprehension leads to unexpected behavior

R. David Murray report at bugs.python.org
Tue Sep 1 17:54:15 CEST 2015


R. David Murray added the comment:

I agree that the table entry could be made more precise.  I would suggest replacing the table entry with "equivalent to adding s to itself n times".  This formulation serves to explain *why* the multiply operation works the way it does:

>>> a = [1, []]
>>> b = a * 4
>>> c = a + a + a + a
>>> b
[1, [], 1, [], 1, [], 1, []]
>>> c
[1, [], 1, [], 1, [], 1, []]
>>> a.append(2)
>>> a
[1, [], 2]
>>> b
[1, [], 1, [], 1, [], 1, []]
>>> c
[1, [], 1, [], 1, [], 1, []]
>>> a[1].append(3)
>>> a
[1, [3], 2]
>>> b
[1, [3], 1, [3], 1, [3], 1, [3]]
>>> c
[1, [3], 1, [3], 1, [3], 1, [3]]

I don't think it is appropriate to put an example in the table; IMO that belongs in the footnote where it currently is.  You could hyperlink the table entry to the FAQ entry, though.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23406>
_______________________________________


More information about the docs mailing list