在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编程使用NLTK进行自然语言处理详解
Nov 16 Python
Python2与python3中 for 循环语句基础与实例分析
Nov 20 Python
Python实现的桶排序算法示例
Nov 29 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
Feb 07 Python
matplotlib subplots 调整子图间矩的实例
May 25 Python
TensorFlow实现Logistic回归
Sep 07 Python
解决django前后端分离csrf验证的问题
Feb 03 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
使用python打印十行杨辉三角过程详解
Jul 10 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
Python 远程开关机的方法
Nov 18 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
php 读取文件乱码问题
2010/02/20 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
PHP session会话的安全性分析
2011/09/08 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
jQuery实现ctrl+enter(回车)提交表单
2015/10/19 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
python私有属性和方法实例分析
2015/01/15 Python
Django中使用Celery的教程详解
2018/08/24 Python
python读取各种文件数据方法解析
2018/12/29 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
python datetime中strptime用法详解
2019/08/29 Python
python生成器用法实例详解
2019/11/22 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Python学习之os模块及用法
2020/06/03 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
校园自助餐厅的创业计划书
2013/12/26 职场文书
自荐信写法介绍
2014/01/25 职场文书
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL