在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 正则表达式(转义问题)
Dec 15 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
Python登录并获取CSDN博客所有文章列表代码实例
Dec 28 Python
Django中间件实现拦截器的方法
Jun 01 Python
浅述python中深浅拷贝原理
Sep 18 Python
python利用百度AI实现文字识别功能
Nov 27 Python
Django REST framework视图的用法
Jan 16 Python
python 使用openpyxl读取excel数据
Feb 18 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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
简单的用PHP编写的导航条程序
2006/10/09 PHP
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
jquery中this的使用说明
2010/09/06 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
jquery仿ps颜色拾取功能
2017/03/08 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
js前端对于大量数据的展示方式及处理方法
2020/12/02 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
Python3 log10()函数简单用法
2019/02/19 Python
django 环境变量配置过程详解
2019/08/06 Python
python实现按首字母分类查找功能
2019/10/31 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
Sneaker Studio波兰:购买运动鞋
2018/04/28 全球购物
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
2015年元旦标语大全
2014/12/09 职场文书
合作与交流自我评价
2015/03/09 职场文书
推销搭讪开场白
2015/05/28 职场文书