0

我有:

class Cluster:
    # some attributes

c = Cluster()

wherec应该是类型列表Cluster()

我可以定义类似的东西c= Cluster[]吗?

我是python的初学者。

4

4 回答 4

3

澄清一下:没有“类型列表”之类的东西Cluster。有一个 type 列表list,它可以包含任何内容。

所以你需要创建一堆Clusters 并将它们添加到常规列表中:

例如列表理解:

N = 10 # length
clusters = [Cluster() for _ in range(N)]

或使用常规循环:

clusters = []
for _ in range(N): clusters.append(Cluster())

无论如何,您可以稍后修改您的列表,因为它只是一个常规列表。

于 2013-04-20T21:41:05.790 回答
1

在 Python 中,您不必(也不能)告诉您的列表将包含什么。所以只需制作空列表

c=[]

然后打电话

c.append(thing)

对于你想要的东西:thing 可以是 int、Cluster、float 等类型。最后,你可以拥有

c=[Cluster(...),1,"2",["a",1.2],(2,3),{1,2,3}]

(其中 {1,2,3} 是一个集合,而 (2,3) 是一个元组)。

于 2013-04-20T21:45:48.823 回答
1
c = [Cluster(arguments), Cluster(arguments2), ... ]

是相同的:

a = [1 , 2, "a" , 4, Cluster(arguments3)]
于 2013-04-20T21:38:01.200 回答
0

只需编写c = [],然后将Cluster对象添加到您的listc 中,如下所示:

c = []
obj = Cluster()
c += [obj]
于 2013-04-20T21:37:23.113 回答