如何创建一个特定类型但为空的对象的列表?有可能吗?我想创建一个对象数组(类型称为Ghosts),它稍后将包含从一个名为Ghosts的类继承的不同类型。它在C++中都非常简单,但我不确定如何在Python中实现。我试过这样的方法:
self.arrayOfGhosts = [[Ghost() for x in xrange(100)] for x in xrange(100)]
但是它已经被对象初始化了,我不需要它,有没有办法用0初始化它,但是有一个Ghost类型的列表?
如你所见,我对python很陌生。任何帮助都将不胜感激。
Tags:
Python是一种动态语言,因此没有
array of type
的概念 您可以使用以下命令创建空的通用列表:您不关心列表的容量,因为它也是动态分配的。
您可以根据自己的需要在其中填充任意数量的
Ghost
实例:不过,上述内容已经足够了:
如果确实要强制此列表仅接受
Ghost
和继承类实例,则可以创建如下自定义列表类型:那么对于二维列表,您可以使用这个类,比如:
这些是列表,不是数组。Python是一种duck类型的语言。无论如何,列表都是异种类型的。例如。您的列表可以包含一个
int
,然后是str
,然后是list
,或者您喜欢的任何内容。你不能用stock类来限制类型,这违背了语言的哲学。创建一个空列表,稍后再添加。
二维列表很简单。只是嵌套列表。
如果你真的想要占位符,就做如下的事情。
Python没有数组,除非您指的是
array.array
,这无论如何都是针对C-ish类型的。在Python中,数组在大多数情况下都是错误的抽象级别。如果您使用的是
在C++中,用^ {< CD6>}初始化,而不是^ {< CD7>}。不要用xrange
,那么您必须使用Python 2。除非您需要非常特定的库,否则请停止使用Python 3。See why。0
来表示NULL
。p.p.p.S.参见PEP 8,规范的Python样式指南。
因此,不需要在Python中“初始化”列表。只需在需要时创建它,然后根据需要添加到其中。
你绝对不需要一个鬼对象的“归零列表”,只需执行以下操作:
注意,在Python中单步执行列表或任何集合时,也不需要索引列表。在C/C++中,你可能习惯于:
但这在Python中不是必需的,因为可以直接迭代集合类型。
相关问题 更多 >
编程相关推荐