【问题标题】:How to count number of variables in a dictionary如何计算字典中的变量数
【发布时间】:2016-10-14 12:31:28
【问题描述】:

这是我当前的代码,用于将不同的时间附加到字典中的同名 id。

for name, date, time ,price in reader(f):
          group_dict[name].append([time])

我的问题是如何计算 dict 中每个键的“时间”数?

输出的一个例子是

 {(name1): [time1, time2, time3]} 

我正在尝试一种将计数“3”包含在其中的方法

【问题讨论】:

  • 你的问题不是很清楚。你想要所有计数的总和吗?还是每个单独计数?您只是想显示这些计数,还是将它们存储在某个地方(如原始字典)?
  • 我希望将计数显示为字典键的一部分,因此例如一个内部包含 3 个“时间”元素的列表将在其 dict 键之一中包含 3

标签: python csv count


【解决方案1】:
for key, value in yourDict.iteritems():
    print len(value)

如果你想包含在你的结构中,试试:

for key, value in yourDict.iteritems():
    yourDict[key] = (value, len(value))

python2 的代码用于 python 3 使用 items() 而不是 iteritems()

【讨论】:

  • 我在这里有点困惑。在我的情况下,“关键”应该是什么?
  • 你测试过你的第二个例子了吗?它似乎引发了一个错误。
  • 在这两种情况下,您都需要将for key, value in yourDict: 更改为for key, value in yourDict.items():(或在Python 2 中更改为yourDict.iteritems())。
【解决方案2】:

您可以通过重新分配键的值以包括其值的长度来完成您想要的:

for key, value in yourDict.items(): # Change to .iteritems() if using Python 2.x
    yourDict[key] = value + [len(value)]

或者,您可以使用字典理解来做到这一点:

yourDict = {key:value+[len(value)] for key, value in yourDict.items()} # Python 3.x
yourDict = {key:value+[len(value)] for key, value in yourDict.iteritems()} # Python 2.x

【讨论】:

    猜你喜欢
    • 2021-10-19
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2013-03-13
    • 2016-03-12
    相关资源
    最近更新 更多