array of objects

Fredrik Lundh fredrik at effbot.org
Sun Dec 31 05:57:28 EST 2000


Anders Olme wrote:
> How do I create a array of object from my own classes?
>
> If I have a class like this:
>
> class test:
> def dosomething(self):
> return 1234
>
> obj= test()
>
> obj= [test(),test()]
>
> The last line works but is there a more elegant way?

Not if you need exactly two elements ;-)

To create a list containing N instances, you can use a
list comprehension:

    obj = [test() for x in range(N)]

which is short for

    obj = []
    for x in range(N):
        obj.append(test())

If the test class is "immutable" (that is, if it cannot be modified
in place), you can also use "sequence multiplication":

    obj = [test()] * N

this creates a list with N references to the same instance.

</F>





More information about the Python-list mailing list