Python在字典中计数副本

时间:2019-03-17 21:16:40

标签: python dictionary count

我正在尝试计算字典中的份数。

我的字典

{0: 'once', 1: 'twice', 2: 'twice'}

我的代码:

def count(self, item):
    """Return the number of copies of item in the bag.

    Return zero if the item doesn't occur in the bag.
    """

    counter = 0
    for key in self.bag:
        if item == item:
            counter = len(self.bag) - 1
    else:
        counter = 0
    print(counter)
    return counter

应返回2,因为有2个副本和1个重复项。

2 个答案:

答案 0 :(得分:3)

在这里Counter方便实用。您可以制作一个Counter来跟踪字典中的所有值。就像这样简单:

from collections import Counter
temp = {0: 'once', 1: 'twice', 2: 'twice'}
counter = Counter (temp.values())

这将返回Counter({'twice': 2, 'once': 1})

现在,要查找多少副本,您只需获取len (counter),所有重复项都是计数(值)> 1的任何项(键):

duplicates = [key for key, count in counter.items() if count > 1]

答案 1 :(得分:0)

您可以使用 data[['datum','PM10_gemiddelde']].loc[data['PM10_gemiddelde'] > 0 ].groupby(['datum']).mean() 模块。

copy

import collections import copy cnt = collections.Counter([1,2,3,3,2,4,5,6,7]) def f1(c): c[2] = 0 tmp = copy.deepcopy(cnt) f1(tmp) 调用后 cnt 保持不变。