Bug introduced by me (:man_facepalming:) in fa25668e1c8982548f1c6f94780709c625811469
For reference:
>>> a = [[]]*2
>>> a[0] += ['ONE']
>>> a
[['ONE'], ['ONE']]
>>> a = [[] for _ in range(2)]
>>> a[0] += ['ONE']
>>> a
[['ONE'], []]
Bug introduced by me (:man_facepalming:) in fa25668e1c8982548f1c6f94780709c625811469
For reference:
>>> a = [[]]*2
>>> a[0] += ['ONE']
>>> a
[['ONE'], ['ONE']]
>>> a = [[] for _ in range(2)]
>>> a[0] += ['ONE']
>>> a
[['ONE'], []]
utACK fa2e038
Another way to show what's going on here, the first variant obviously creates two list elements pointing to the same object:
>>> a = [[]]*2
>>> id(a[0]) == id(a[1])
True
>>> a = [[] for _ in range(2)]
>>> id(a[0]) == id(a[1])
False