在Python中实现字典反转案例
作者:杰瑞26 发布时间:2022-12-17 02:05:46
标签:Python,字典,反转
有时候会碰到需求,将字典来反转,即:字典中的键作为值,而字典中的值作为键。对于字典比较小,可以使用普通方法
方法一:
使用普通方法转换
>>> 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("输入错误")
来源:https://blog.csdn.net/Jerry_1126/article/details/81158254


猜你喜欢
- 首先添加一个splice函数:splice:该方法的作用就是从数组中删除一个元素array.splice(index,count,value
- 项目开始时是一个关键时刻,选择会对项目产生长期的影响。有很多关于如何开始使用Django框架的教程,但很少讨论如何专业地使用Django,或
- 今天逛论坛时看到有朋友问,是否有专门教Javascript的学校,这里想想把自己的一点建议和自己3年来的前端Javascript开发的经验跟
- Python 操作 MySQL配置win_64Ubuntu14.04Python3.xpip安装pymysql模块直接使用pip安装 pip
- 最近看JavaScript高级程序设计,大有收获,接下来几天写一下读书笔记。之前写了一篇Ajax初步理解的随笔,里面有个函数用来创建XmlH
- 比如:,master,test, 表示 该用户为 test 的下级代码,test登录后可以看到 test名下的业务和所有下级代理的业务。相关
- 在python类当中,经常会遇到@classmethod和@staticmethod这两个装饰器,那么到底它们的区别和作用是啥子呢?具体来看
- 最近的答题赢钱很火爆,我也参与了几次,有些题目确实很难答,但是10秒钟的时间根本不够百度的,所以写了个辅助挂,这样可以出现题目时自动百度,这
- 一、前言 axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。二、axios封装步骤安
- Jupyter 是数据分析领域非常有名的开发环境,使用 Jupyter 写数据分析相关的代码会大大节约开发时间。设想这样一个场景:别的部门的
- 1. 问题截图:(8000端口被占用)2. 第一种是可能会打开了多个运行窗口右键关闭即可:3. 第二种是在你运行python的主机上查询出p
- 用coding-pages打开后显示Failed to load resource: the server responded with a
- 1.直接使用dlib安装dlib方法:Win10安装dlib GPU过程详解思路:1、使用dlib.get_frontal_fac
- 如何在生产上部署Django?Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。uwsgi介绍uW
- 铺垫在大量的实践中,似乎我们总是通过类似的方式来使用异步编程:监听事件事件发生执行对应的回调函数回调完成(可能产生新的事件添加进监听队列)回
- IE 5.5 中的 JScript 版本是 5.5 版,它比以前版本的 JScript 中多了如数组的 push、pop、shift、uns
- 目录需求分析进一步分析再进一步分析代码实现我们在写爬虫的过程中,除了研究反爬之外,几乎全部的时间都在写解析逻辑。那么,生命苦短,为什么我们不
- 直接update的弊端最近做一个需求,更新3w条数据,一个一个update去更新的,结果花了80分钟,这样性能上很差,也容易阻塞,所以就找了
- 协程协程简单来说就是一个更加轻量级的线程,并且不由操作系统内核管理,完全由程序所控制(在用户态执行)。协程在子程序内部是可中断的,然后转而执
- 前言在Python的世界里,将一个对象以json格式进行序列化或反序列化一直是一个问题。Python标准库里面提供了json序列化的工具,我