Python实现字典的key和values的交换


Posted in Python onAugust 04, 2015

有些时候我们不得已要利用values来反向查询key,有没有简单的方法呢?

下面我给大家列举一些方法,方便大家使用

python3

>>> d1={'a':1,'b':2}
>>> {value:key for key,value in d1.iteritems()}
{1: 'a', 2: 'b'}
>>> {value:key for key,value in d1.iteritems()}[2]
'b'

python2.7

>>> d1={'a':1,'b':2}
>>> dict((value,key) for key,value in d1.iteritems())
{1: 'a', 2: 'b'}

如果有重复的key

>>> d1={'a':1,'b':2,'c':1}
>>> d=defaultdict(list)
>>> for k,v in d1.iteritems():
...   d[v].append(k)
... 
>>> d
defaultdict(<type 'list'>, {1: ['a', 'c'], 2: ['b']})

谢特,太牛逼。。。。。

感谢行语者大神的帮助

以上就是本文的全部内容了,希望对大家学习python能够有所帮助。

Python 相关文章推荐
解析Python中的异常处理
Apr 28 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
Python利用operator模块实现对象的多级排序详解
May 09 Python
python绘制多个曲线的折线图
Mar 23 Python
基于python实现名片管理系统
Nov 30 Python
django orm 通过related_name反向查询的方法
Dec 15 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
python如何爬取动态网站
Sep 09 Python
Python合并pdf文件的工具
Jul 01 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 Python
python利用装饰器进行运算的实例分析
Aug 04 #Python
浅谈python多线程和队列管理shell程序
Aug 04 #Python
python中使用序列的方法
Aug 03 #Python
python实现备份目录的方法
Aug 03 #Python
python使用MySQLdb访问mysql数据库的方法
Aug 03 #Python
浅谈Python中列表生成式和生成器的区别
Aug 03 #Python
详解Python3中的Sequence type的使用
Aug 01 #Python
You might like
php 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
解析Javascript中中括号“[]”的多义性
2013/12/03 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
Vue实现导出excel表格功能
2018/03/30 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
Python中序列的修改、散列与切片详解
2017/08/27 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
html5唤醒APP小记
2019/03/27 HTML / CSS
UNDONE手表官网:世界领先的定制手表品牌
2018/11/13 全球购物
优秀学生干部个人事迹材料
2014/06/02 职场文书
中层干部培训方案
2014/06/16 职场文书
2015年超市工作总结
2015/04/09 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS
mysql数据库如何转移到oracle
2022/12/24 MySQL