Mryqu's Notes


  • 首页

  • 搜索
close

Python dictionary practice

时间: 2013-07-25   |   分类: Python     |   阅读: 194 字 ~1分钟

reverse Dict (Swap Key and Value)

>>> a={"a":123,"b":222,"c":30,"d":6,"e":1}
>>> print a
{'a': 123, 'c': 30, 'b': 222, 'e': 1, 'd': 6}
>>> res = dict((v,k) for k,v in a.iteritems())
>>> print res
{1: 'e', 6: 'd', 123: 'a', 222: 'b', 30: 'c'}
>>> a={"a":123,"b":222,"c":30,"d":6,"e":1}
>>> print a
{'a': 123, 'c': 30, 'b': 222, 'e': 1, 'd': 6}
>>> res = dict(zip(a.values(), a.keys()))
>>> print res
{1: 'e', 6: 'd', 123: 'a', 222: 'b', 30: 'c'}

Top N by Dict Value

>>> from collections import Counter
>>> a={"a":123,"b":222,"c":30,"d":6,"e":1}
>>> top_three = Counter(a).most_common(3)
>>> for key, value in top_three: print key, float(value)
...
b 222.0
a 123.0
c 30.0
>>> a={"a":123,"b":222,"c":30,"d":6,"e":1}
>>> res = sorted(a.items(), key=lambda x:x[1], reverse=True)
>>> res
[('b', 222), ('a', 123), ('c', 30), ('d', 6), ('e', 1)]
>>> for idx in range(3): print res[idx][0], float(res[idx][1])
...
b 222.0
a 123.0
c 30.0

Top N by Dict Key

>>> a = {1: 'e', 6: 'd', 123: 'a', 222: 'b', 30: 'c'}
>>> res = sorted(a.items(), reverse=True)
>>> print res
[(222, 'b'), (123, 'a'), (30, 'c'), (6, 'd'), (1, 'e')]
>>> for idx in range(3): print res[idx][1], float(res[idx][0])
...
b 222.0
a 123.0
c 30.0

标题:Python dictionary practice
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#python# #dict# #键值互换# #top#
Java RMI 客户端回调(callback)
[Hadoop] 在RACE虚拟机上安装单节点Hadoop
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%