如何制作特定对象的python数组

时间:2009-12-27 10:51:54

标签: python arrays types

在java中,以下代码定义了预定义类(myCls)的数组:

myCls arr[] = new myCls

我怎么能在python中做到这一点?我想要一个类型为(myCls)的数组?

提前致谢

2 个答案:

答案 0 :(得分:7)

Python是动态类型的。您不需要(实际上不能)创建仅包含单个类型的列表:

arr = list()
arr = []

如果您要求它只包含一种类型,那么您必须创建自己的列表,重新实现列表方法并自己__setitem__()

答案 1 :(得分:5)

您只能使用array包创建只有一种类型的数组,但它不是为存储用户定义的类而设计的。

python的方法是创建一个对象列表:

a = [myCls() for _ in xrange(10)]

您可能需要查看this stackoverflow问题。

注意:

小心这种表示法,可能不是你想要的东西:

a = [myCls()] * 10

这也将创建一个myCls对象十倍的列表,但它是相同对象的十倍,而不是十个独立创建的对象。