如何生成特定对象的python数组
在java中,以下代码定义了预定义类的数组(如何生成特定对象的python数组,python,arrays,types,Python,Arrays,Types,在java中,以下代码定义了预定义类的数组(myCls): 在python中如何实现这一点?我想要一个类型为(myCls)的数组 提前感谢Python是动态键入的。您不需要(事实上也不能)创建只包含单一类型的列表: arr = list() arr = [] 如果您要求它只包含一种类型,那么您必须创建自己的类似列表,重新实现列表方法和\uuuu setitem\uuuuuuuuu()您自己。您只能使用该包创建一种类型的数组,但它不是为存储用户定义的类而设计的 python的方法是只创建一个对象
myCls
):
在python中如何实现这一点?我想要一个类型为(myCls
)的数组
提前感谢Python是动态键入的。您不需要(事实上也不能)创建只包含单一类型的列表:
arr = list()
arr = []
如果您要求它只包含一种类型,那么您必须创建自己的类似列表,重新实现列表方法和
\uuuu setitem\uuuuuuuuu()
您自己。您只能使用该包创建一种类型的数组,但它不是为存储用户定义的类而设计的
python的方法是只创建一个对象列表:
a = [myCls() for _ in xrange(10)]
你们可能想看看这个问题
注意:
小心使用此符号,它可能与您的意图不符:
a = [myCls()] * 10
这也将创建一个包含十倍于myCls对象的列表,但它是十倍于同一个对象,而不是十个独立创建的对象。但您可以创建仅包含整数、双精度等的数组。pythonI中的类型不认为OP关心数组和列表之间的差异。但是,您不能这样做的说法是错误的。不,事实并非如此。列表并不关心它包含什么类。是的,您可以创建一个只接受单一类型的类似列表,也可以使用array.array,但这两种类型都不是列表。@Ignacio:确实,您指定的“不能”语句为false。在python中,您可以创建一个包含单一类型项的列表;您不能强制列表项为单一类型。重复:
a = [myCls()] * 10