使用collections.defaultdict,不需要if-else:

from collections import defaultdict

def get_wins_by_category(team_to_win, category):

d = {'name':0, 'city':1, 'sport':2}

dic = defaultdict(int)

for k, v in team_to_win.items():

dic[k[d[category]]] += v

return dic

...

>>> get_wins_by_category(d, 'city')

defaultdict(, {'Toronto': 34, 'Ottawa': 45})

>>> get_wins_by_category(d, 'sport')

defaultdict(, {'basketball': 31, 'hockey': 48})

>>> get_wins_by_category(d, 'name')

defaultdict(, {'Senators': 45, 'Blues': 21, 'Raptors': 10, 'Leafs': 3})

另一种选择是collections.Counter:

from collections import Counter

def get_wins_by_category(team_to_win, category):

#index each category points to

d = {'name':0, 'city':1, 'sport':2}

dic = Counter()

for k, v in team_to_win.items():

dic[k[d[category]]] += v

return dic

...

>>> get_wins_by_category(d, 'city')

Counter({'Ottawa': 45, 'Toronto': 34})

>>> get_wins_by_category(d, 'sport')

Counter({'hockey': 48, 'basketball': 31})

>>> get_wins_by_category(d, 'name')

Counter({'Senators': 45, 'Blues': 21, 'Raptors': 10, 'Leafs': 3})

python字典包含指定键_python-字典中所有值的总和,其中包含键中的项相关推荐

  1. pythonexcel计算横列总和-在python中,如何在字典中找到值的总和?每个键都有多个值...

    我基本上改写了整个事情...... K = "Dog .0001 1 Dog .00003 1 Dog .0001 2 Cat .0004 1 Cat .0002 1 Cat .0003 2 ...

  2. pandas使用replace函数替换dataframe中的值:replace函数对dataframe中指定数据列的值进行替换、替换具体数据列的相关值

    pandas使用replace函数替换dataframe中的值:replace函数对dataframe中指定数据列的值进行替换.替换具体数据列的相关值 目录

  3. pandas使用replace函数替换dataframe中的值:replace函数对dataframe中的多个值进行替换、即一次性同时对多个值进行替换操作

    pandas使用replace函数替换dataframe中的值:replace函数对dataframe中的多个值进行替换.即一次性同时对多个值进行替换操作 目录

  4. python字典操作的方法_python 字典操作方法详解

    python 字典操作方法详解 一.总结 一句话总结: 字典就是键值对映射 ,像js和php中的键值对数组:{'name':'jamnes','age':'32'} 1.python字典的增删改查? ...

  5. python字典由什么组成_python字典

    python字典: python字典是一种可变容器模型.可以储存任意类型对象. 字典由键值对组成,键值用 冒号(,)隔开,键值对之间用逗号隔开(,),整个字典包含在花括号({})中. 字典是无序的,但 ...

  6. python字典的实现原理_Python字典的实现原理

    以下是自己的学习记录,算是一个总结. 接下来会依次对下面问题做一个解答: 1. Python的dict和set为什么是无序的? 2. 为什么不是所有的python对象都可以用作dict的键和set中的 ...

  7. python字典如何删除数据库_Python 字典删除元素clear、pop、popitem

    同其它python内建数据类型一样,字典dict也是有一些实用的操作方法.这里我们要说的是字典删除方法:clear().pop()和popitem(),这三种方法的作用不同,操作方法及返回值都不相同. ...

  8. python字典增加和删除_Python字典的基本用法实例分析【创建、增加、获取、修改、删除】...

    本文实例讲述了python字典的基本用法.分享给大家供大家参考,具体如下: 字典是一系列的键值对 . 每个键都与一个值相关联, 我们可以使用键来访问与之相关联的值. 与键相关联的值可以任何 pytho ...

  9. python字典怎么增加元素_Python字典(dict)增加元素

    Python字典(dict)增加元素 在 如果 key 不存在,那么会将 key 添加进字典,并将该 key 的值设置为 value. 字典增加元素详解 语法 dict[key] = value 参数 ...

最新文章

  1. 智源青年科学家候选人 | 张祥雨:挑战自动化深度学习系统
  2. list of Java class file format major version numbers?
  3. ubuntu下载软件安装包
  4. CSS各种选择符的优先级
  5. 什么?面试官问我Java内存模型!这不得给我加薪?
  6. C语言求一个数组中第k大的数,leetcode | Median of Two Sorted Arrays 寻找2个有序数组中第k大的值...
  7. 计算机入门 姚班,清华“姚班”:学霸中的尖子生,大佬毕业后都去哪了?
  8. 接苹果游戏 小学生邀请赛T3
  9. vue中如何设置鼠标经过切换样式
  10. 网页隐藏密码查看方法
  11. 关于ie中使用a标签无法打开(预览)pdf问题
  12. 【Linux】定时任务crontab和at命令详解
  13. 最新版去水印小程序搭建教程
  14. 微信官方开发者工具如何导入小程序源码demo
  15. 忽悠马云10亿,还阿里4500亿:做对事赢一场,跟对人赢一生!(文章为转载,网上各种假原创,未搜到原作者)
  16. 不要用思维来改变和扭曲自己
  17. 动态链接库 (DLL)
  18. 完全背包问题(二维数组)
  19. www.cjfx.net 读书人的网站 新华书业 崇文书城 新华之星
  20. java 解释器与JIT编译器

热门文章

  1. 67% 为宽松许可证,2020 年开源许可证最新趋势来袭
  2. NB-IoT 连接数过亿,开发者如何抓住新机遇?
  3. BAT程序员必备技能调研,你中了几招?
  4. 程序员的修神之路是?
  5. oracle的学生,Oracle做学生信息系统的脚本
  6. Thread-start()-,它是怎么让线程启动的呢,Java面试问项目
  7. mysql数据库咋还原_mysql数据库备份和还原
  8. lumion自动保存_Lumion所有快捷键,值得收藏
  9. mysql 独占查询,MySql历史与架构
  10. python如何使用matlab_MATLAB中的mrdivide函数:它在做什么,以及在Python中如何做?...