It seems there is an unexpected behavior regarding lists with Python 3.8.1:
    > l = [[]] * 4
    > l[0].append(1)
    > l
    [[1], [1], [1], [1]]
I would expect l to be equal to [[1], [], [], []].
Should not the lists inside l correspond to different "objects"?
On the other side the following code behaves as expected.
    > l = [ [] for i in range(4)]
    > l[0].append(1)
    > l
    [[1], [], [], []]
 
     
    