在Python中实现字典反转案例


Posted in Python onDecember 05, 2020

有时候会碰到需求,将字典来反转,即:字典中的键作为值,而字典中的值作为键。对于字典比较小,可以使用普通方法

方法一:

使用普通方法转换

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> def invert_dict(d):
...   return dict([(v,k) for (k,v) in d.iteritems()])
...
>>> invert_dict(d)
{1: 'a', 2: 'b', 3: 'c'}

方法二:

使用itertools模块中的izip方法来转换

>>> d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
>>> from itertools import izip
>>> def invert_dict(d):
...   return dict(izip(d.itervalues(), d.iterkeys()))
...
>>> invert_dict(d)
{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
>>>

备注:

1. 字典比较大时,使用itertools模块中的izip方法来转换要高效的多.

2. 反转之前值应该要确保不是列表这样不可hash的值,否则不能反转.

补充知识:python 字典键和值翻转输出代码

我就废话不多说了,大家还是直接看代码吧~

dict=eval(input()) #输入格式:dict = {"a":1,"b":2}
dict_new={}
try:
  for k,v in dict.items():
    dict_new[v]=k
  print(dict_new)
except:
  print("输入错误")

以上这篇在Python中实现字典反转案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Flask框架中@app.route的用法教程
Mar 31 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
Jun 02 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
django框架如何集成celery进行开发
May 24 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
基于Python的微信机器人开发 微信登录和获取好友列表实现解析
Aug 21 Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 Python
Django数据统计功能count()的使用
Nov 30 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
python tkinter实现定时关机
Apr 21 Python
解决python3输入的坑——input()
Dec 05 #Python
python3 使用ssh隧道连接mysql的操作
Dec 05 #Python
python3通过subprocess模块调用脚本并和脚本交互的操作
Dec 05 #Python
python实现启动一个外部程序,并且不阻塞当前进程
Dec 05 #Python
python subprocess pipe 实时输出日志的操作
Dec 05 #Python
python 操作excel表格的方法
Dec 05 #Python
解决python 执行shell命令无法获取返回值的问题
Dec 05 #Python
You might like
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
Windows8下搭建Node.js开发环境教程
2014/09/03 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
浅谈javascript中关于日期和时间的基础知识
2016/07/13 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
浅析Ajax语法
2016/12/05 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
JavaScript循环_动力节点Java学院整理
2017/06/28 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
利用vue开发一个所谓的数独方法实例
2017/12/21 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
vue自定义正在加载动画的例子
2019/11/14 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
vue实现拖拽进度条
2021/03/01 Vue.js
以一段代码为实例快速入门Python2.7
2015/03/31 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
艺龙旅行网酒店预订:国内、港澳台酒店
2018/06/26 全球购物
2019史上最全Database工程师题库
2015/12/06 面试题
施工资料员岗位职责
2014/01/06 职场文书
上班时间打瞌睡检讨书
2014/09/26 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
2014年政教处工作总结
2014/12/20 职场文书
病假证明模板
2015/06/19 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript