How create differents objects with a constructor list : I have a list which has differents constructors of differents classes.But the constructors always return me the same object because they have the same memory direction.

I have something like this: 

    l=[class1(),class2(),class3()]
    l2 = []

if I try to create differents objects with it, it returns the same object with the same memory direction. I mean, I'm doing this:


    for i in range(50):
        obj = l[random]
        l2.append(obj)


l2 has 50 objects but all the objects of the first class are the same and they have the same memory direction. Same happens with the other classes.



I would like to have 50 differents objects.