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

yipeiwu_com7年前Python基础

有些时候我们不得已要利用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画图把时间作为横坐标的方法

1、需要将时间字符串转换成datetime类型,语法:data[‘time'] = pd.to_datetime(data[‘time']) 2、将时间列设置成索引列data.set_i...

基于python实现把图片转换成素描

基于python实现把图片转换成素描

这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没...

Numpy 将二维图像矩阵转换为一维向量的方法

以下的例子,将32x32的二维矩阵,装换成1x1024的向量 def image2vector (filename): returnVect=zeros((1,1024)) f=...

在类Unix系统上开始Python3编程入门

假设有个python脚本script.py,不管哪种Unix平台,都可以在命令行上通过解释器执行: $ python script.py Unix平台还可以在不明确指定pyth...

简化Python的Django框架代码的一些示例

简化Python的Django框架代码的一些示例

尽管Django的流行和普及, 一些开发者仍然认为她是一个过时的web开发框架, 仅仅适合内容丰富的web程序。 然而现在大多数web程序往往不是富内容的, 这似乎让Django看起来不...