Skip to content Skip to sidebar Skip to footer

Unexpected Update Result On The Quickly Nested List In Python

Why couldn't the first element but the whole column be updated below? >>> x=2*[2*[1]] >>> x [[1, 1], [1, 1]] >>> x[0][0]=2 >>> x [[2, 1], [2, 1]

Solution 1:

Even tho this is a clear duplicate but use range:

>>> x=[[1 for i in range(2)] for x in range(2)]
>>> x
[[1, 1], [1, 1]]
>>> x[0][0]=2
>>> x
[[2, 1], [1, 1]]
>>> 

At least still able to do:

>>> x=[[1]*2 for x in range(2)]
>>> x[0][0]=2
>>> x
[[2, 1], [1, 1]]
>>> 

Post a Comment for "Unexpected Update Result On The Quickly Nested List In Python"