这里的第一个问题,所以我将直接进入正题:
使用python 2.7
我有一个条目字典,键是一个x,y坐标,表示为一个元组:(x,y),所有的值都是布尔值。
我正在尝试找出一种快速而简洁的方法来获得有多少项具有给定值的计数。我不需要知道哪些键具有给定值,只需要知道有多少。
这里有一个类似的帖子:How many items in a dictionary share the same value in Python,但是我不需要返回字典,只需要一个整数。
我的第一个想法是迭代项目并测试每个项目,同时保留每个True值或其他值的计数。我只是想知道,既然我还是python的新手,也不知道所有的库,有没有更好/更快/更简单的方法来做到这一点。
提前谢谢。
发布于 2012-11-20 05:17:46
如果你想要一个可以快速访问的数据结构来检查计数,你可以尝试使用一个计数器(正如@mgilson所指出的,这依赖于值本身是可哈希的):
>>> from collections import Counter
>>> d = {(1, 2): 2, (3, 1): 2, (4, 4): 1, (5, 6): 4}
>>> Counter(d.values())
Counter({2: 2, 1: 1, 4: 1})
然后,您可以插入一个值并获取它出现的次数:
>>> c = Counter(d.values())
>>> c[2]
2
>>> c[4]
1
https://stackoverflow.com/questions/13462365
复制相似问题