Why the list creates in two different ways? Does it cause by the mutability of its elements? Where the Python document explains it?
Chris Angelico
rosuav at gmail.com
Mon Jun 14 15:35:48 EDT 2021
On Tue, Jun 15, 2021 at 5:12 AM Jach Feng <jfong at ms4.hinet.net> wrote:
>
> >>> n = [(1,2) for i in range(3)]
> >>> n
> [(1, 2), (1, 2), (1, 2)]
> >>> id(n[0]) == id(n[1]) == id(n[2])
> True
This is three tuples. Tuples are immutable and you get three
references to the same thing.
> >>> m = [[1,2] for i in range(3)]
> >>> m
> [[1, 2], [1, 2], [1, 2]]
> >>> id(m[0]) == id(m[1]) == id(m[2])
> False
> >>>
>
These are lists. Each one is distinct. You could change one of them
and the other two would remain as they are.
ChrisA
More information about the Python-list
mailing list