【发布时间】:2013-04-20 21:36:03
【问题描述】:
我有:
class Cluster:
# some attributes
c = Cluster()
其中c 应该是Cluster() 类型的列表
我可以定义类似 c= Cluster[] 的东西吗?
我是python的初学者。
【问题讨论】:
标签: python list class cluster-computing
我有:
class Cluster:
# some attributes
c = Cluster()
其中c 应该是Cluster() 类型的列表
我可以定义类似 c= Cluster[] 的东西吗?
我是python的初学者。
【问题讨论】:
标签: python list class cluster-computing
澄清一下:不存在“Cluster 类型的列表”。有一个list 类型的列表,它可以包含任何内容。
所以你需要创建一堆Clusters 并将它们添加到常规列表中:
例如使用列表理解:
N = 10 # length
clusters = [Cluster() for _ in range(N)]
或使用常规循环:
clusters = []
for _ in range(N): clusters.append(Cluster())
在任何情况下,您都可以稍后修改您的列表,因为它只是一个常规列表。
【讨论】:
在 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) 是一个元组)。
【讨论】:
c = [Cluster(arguments), Cluster(arguments2), ... ]
等同于:
a = [1 , 2, "a" , 4, Cluster(arguments3)]
【讨论】:
只需写c = [],然后将Cluster 对象添加到您的list c,如下所示:
c = []
obj = Cluster()
c += [obj]
【讨论】: