Consider the following code; it is a bad programming practice. I am wondering why the resulting list A
is [1, 1, 3]
rather than [1, 2, 1]
On line 3 you have a chained assignment
t = A[t] = A.count(3)
t = A.count(3)
is evaluated first – t
set to the return value of A.count(3)
which in this case is 1.
Then the member of A
at index t
(=1) is set to the return value of A.count(3)
, which is still 1.
Read more about chained assignments in Python here