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

本文介绍三种不同的Python方法来实现字典的反转,即将字典的键和值互换。包括使用生成器表达式、列表推导及itertools模块提高处理大数据效率的方法。
 1 #encoding=utf-8
 2 
 3 
 4 
 5 #反转字典 即key和val互换 
 6 dict1={1:2,3:4,6:7,9:10}
 7 
 8 
 9 print '---生成器表达式' 
10 def invert_dict(d): 
11   return dict((v,k) for k,v in d.iteritems()) 
12 
13 print invert_dict(dict1) 
14 
15 
16 print '---列表推导' 
17 def invert_dict2(d): 
18   return dict([(v,k) for k,v in d.iteritems()]) 
19 
20 print invert_dict2(dict1) 
21 
22 
23 print '---itertools 提高大数据效率' 
24 from itertools import izip 
25 
26 
27 def invert_dict3(d): 
28   return dict(izip(d.itervalues(),d.iterkeys())) 
29 
30 print invert_dict3(dict1)

 

 

 

 

 

打印结果如下:

---生成器表达式
{2: 1, 4: 3, 10: 9, 7: 6}
---列表推导
{2: 1, 4: 3, 10: 9, 7: 6}
---itertools 提高大数据效率
{2: 1, 4: 3, 10: 9, 7: 6}

转载于:https://www.cnblogs.com/yunweidf/p/6344266.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值