我正在研究一个问题,要求我在字典中返回最不频繁的值,除了几个不同的计数之外我似乎无法解决它,但字典中没有一定数量的值在支票中提供.
例如,假设字典包含从学生姓名(字符串)到其年龄(整数)的映射.您的方法将返回最不常见的年龄.考虑包含以下键/值对的字典变量d:
{'Alyssa':22,'Char':25,'Dan':25,'Jeff':20,'Kasey':20,'Kim':20,'Mogran':25,'Ryan':25,'燕姿":22}
三个人年龄为20岁(Jeff,Kasey和Kim),两个人年龄为22岁(Alyssa和Stef),四个人年龄为25岁(Char,Dan,Mogran和Ryan).最稀有的(d)返回22,因为只有两个人是那个年龄.
有人会介意我指出正确的方向吗?谢谢!
计算集合的成员是collections.Counter:
d={'Alyssa':22, 'Char':25, 'Dan':25, 'Jeff':20, 'Kasey':20, 'Kim':20, 'Mogran':25, 'Ryan':25, 'Stef':22}
import collections
print collections.Counter(d.values()).most_common()[-1][0]
22
Run Code Online (Sandbox Code Playgroud)