[issue23406] interning and list comprehension leads to unexpected behavior

2015-02-07 Thread Abraham Smith
New submission from Abraham Smith: Some students were working on matrix routines for practice. The following code: L = [ [0]*3 ]*3 for i in range(3): ...for j in range(3): ...if i==j: L[i][j]=1 was expected to return [[1,0,0],[0,1,0],[0,0,1]] but it returned [[1,1,1],[1,1,1

[issue23406] interning and list comprehension leads to unexpected behavior

2015-02-07 Thread Abraham Smith
Abraham Smith added the comment: (Obviously, there's a copy/paste mistake in the second case; it should read map(id, M).) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue23406

[issue23406] interning and list comprehension leads to unexpected behavior

2015-02-07 Thread Abraham Smith
Abraham Smith added the comment: Thanks for the helpful responses and correcting my misunderstanding. Regarding improved documentation, I see now that the table at https://docs.python.org/2/library/stdtypes.html#id2 indeed says shallow copies; however, the footnote seems to bury the lede