【问题标题】:append to a dictionary in python附加到python中的字典
【发布时间】:2011-04-10 19:22:37
【问题描述】:

我的问题是这样的,

我需要尝试创建一个字典来保存我正在使用的数据集中每个集群的计数值。

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

这里有一些代码

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

clusters = {}
while numberofclusters >= 0:

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

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

}

如何从numberofclusters 变量中获取当前数字?这样我就可以将"cluster[x]" 附加到字典中?

【问题讨论】:

  • 注意key需要是字符串,'cluster1'等
  • @Andrew 键不需要是字符串,它们需要是可散列的对象(包括字符串以外的东西)。
  • @Rafe,是的,我不是故意的。但在这种情况下,我认为提问者的意思是字符串!

标签: python dictionary append


【解决方案1】:

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

您应该考虑使用 for 循环,而不是:

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

这将从 0 迭代到 numberOfClusters,您可以通过读取变量“i”来访问您正在进行的迭代。

希望这会有所帮助。

【讨论】:

    【解决方案2】:
    >>> 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}
    

    【讨论】:

      猜你喜欢
      • 2021-12-21
      • 2016-12-30
      • 2012-09-26
      • 2018-04-30
      • 1970-01-01
      • 2020-12-06
      • 2015-10-22
      • 2013-07-12
      • 2021-05-08
      相关资源
      最近更新 更多