在java中,以下代码定义了预定义类(myCls
)的数组:
myCls arr[] = new myCls
我怎么能在python中做到这一点?我想要一个类型为(myCls
)的数组?
提前致谢
答案 0 :(得分:7)
Python是动态类型的。您不需要(实际上不能)创建仅包含单个类型的列表:
arr = list()
arr = []
如果您要求它只包含一种类型,那么您必须创建自己的列表,重新实现列表方法并自己__setitem__()
。
答案 1 :(得分:5)
您只能使用array包创建只有一种类型的数组,但它不是为存储用户定义的类而设计的。
python的方法是创建一个对象列表:
a = [myCls() for _ in xrange(10)]
您可能需要查看this stackoverflow问题。
注意:强>
小心这种表示法,可能不是你想要的东西:
a = [myCls()] * 10
这也将创建一个myCls对象十倍的列表,但它是相同对象的十倍,而不是十个独立创建的对象。