文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>交换dict的key和value

交换dict的key和value

时间:2010-04-15  来源:flyaway57


以IP头中的protocl字段为例,在python中一般会这么处理这个字段,把这些协议放到一个dict中

ICMP = 1
IGMP = 2
TCP = 6
UDP = 17

protocol= {'ICMP' : ICMP,
           'IGMP' : IGMP,
           'TCP'  : TCP,
           'UDP'  : UDP}


当需要向这个字段写值的时候,就可以很方便的用协议的名字去标示,比如写TCP,就可以protocol['TCP'],这样就可以把6写进去。

当我们接受到一个报文的时候,在读到protocol这个字段的时候,收到的数据就是1,2,6,17之类的,然后它对应各种协议,这里需要再建立一个字典,其实就是把protocl这个dict的key和value交换一下就可以了。


protocol_by_text = dict(((y, x) for x, y in protocol.iteritems()))

print protocol_by_text

{17: 'UDP', 2: 'IGMP', 6: 'TCP', 1: 'ICMP'}


这样,当读到protocol这个字段的值的时候,就可以很方便的和协议联系起来了。
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载