将python中的dict按值排序

这几天仍在做社交圈子挖掘,实验将会整理整理再与大家分享,分析中,遇到一个问题,就对是python的dict的value进行排序:有什么好的方法么?我搜了一下,找到以下几种,分享:假设有dict如下:x = {1: 2, 3: 4, 4:3, 2:1, 0:0}
  1. import operator
    sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1))
  2. x = {1: 2, 3: 4, 4:3, 2:1, 0:0}
    for w in sorted(d, key=d.get, reverse=True):
        print w, d[w]
  3. sorted(x.items(), key=lambda p: p[1])
  4. sorted([(value,key) for (key,value) in x.items()])
python是一门非常灵活的语言,刚刚开始使用,尤其是静态类型语言转过来,确有诸多不便。需要时间掌握这门强大的语言。 补充一下:不仅仅是对value做排序,还要保留key-value的映射的,输出:[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]

posted on 2012-03-12 19:44  sing1ee  阅读(471)  评论(0编辑  收藏  举报