2011-04-10 82 views
0

我的问题是这样的,追加到一本字典在python

我需要尝试创建一个字典,将举行从我使用的是数据集中的每个集群的计数值。

我希望我的程序使用while循环根据用户输入的整数将键输入字典。

这里是一些代码

numberofclusters = raw_input("Enter the number of clusters") 

clusters = {} 
while numberofclusters >= 0: 

因此,如果用户输入3字典应该是这样的

{ cluster1: 0, cluster2: 0, cluster3: 0 

}

我怎么才能从numberofclusters变量的当前号码?以便我可以将"cluster[x]"附加到字典中?

+0

请注意,密钥需要是字符串,'cluster1'等。 – 2011-04-10 19:34:17

+0

@Andrew这些密钥不需要是字符串,它们需要是* hashable objects *(其中包含字符串以外的内容)。 – 2011-04-10 19:36:53

+0

@Rafe,是的,我并不是想暗示这一点。但在这种情况下,我认为提问者意味着字符串! – 2011-04-10 19:41:27

回答

0

对于初学者,您需要重新考虑您的循环逻辑。就目前而言,while循环将无限延续 - numberOfClusters将始终大于0(除非用户输入负值或0作为输入)。

你应该考虑使用一个for循环,而不是:

for i in range(0,numberOfClusters): 
    # loop logic 

这会从0迭代高达numberOfClusters,你将有机会获得其迭代你是通过读取变量“i”。

希望这会有所帮助。

+0

感谢这有助于! – Tom 2011-04-10 19:49:11

0
>>> num_of_clusters = int(raw_input('Number: ')) 
Number: 3 
>>> clusters = {} 
>>> for i in range(1, num_of_clusters+1): 
     clusters['cluster{0}'.format(i)] = 0 

>>> clusters 
{'cluster2': 0, 'cluster3': 0, 'cluster1': 0}