Chinaunix

标题: 求教,关于 字典排序 [打印本页]

作者: jiangling_0103    时间: 2016-11-11 11:02
标题: 求教,关于 字典排序
请教下大家,我有个字典,结构如下,我想按照每个 key 对应的 num 值做下排序打印,应该怎么写的?多谢了

dict_info = {
    key_a : {'num':2 , 'module': xxxx} ,
    key_b : {'num':1 , 'module': xxxx} ,
    key_c : {'num':5 , 'module': xxxx} ,
    key_c : {'num':3 , 'module': xxxx} ,
}


作者: Hadron74    时间: 2016-11-11 11:49
  1. xxxx=""
  2. dict_info = {
  3.     "key_a" : {'num':2 , 'module': xxxx} ,
  4.     "key_b" : {'num':1 , 'module': xxxx} ,
  5.     "key_c" : {'num':5 , 'module': xxxx} ,
  6.     "key_d" : {'num':3 , 'module': xxxx} ,
  7. }

  8. for k in sorted(dict_info, key=lambda x: dict_info[x]["num"]):
  9.     print k,dict_info[k]
复制代码



作者: Hadron74    时间: 2016-11-11 11:49
  1. xxxx=""
  2. dict_info = {
  3.     "key_a" : {'num':2 , 'module': xxxx} ,
  4.     "key_b" : {'num':1 , 'module': xxxx} ,
  5.     "key_c" : {'num':5 , 'module': xxxx} ,
  6.     "key_d" : {'num':3 , 'module': xxxx} ,
  7. }

  8. for k in sorted(dict_info, key=lambda x: dict_info[x]["num"]):
  9.     print k,dict_info[k]
复制代码

  1. key_b {'num': 1, 'module': ''}
  2. key_a {'num': 2, 'module': ''}
  3. key_d {'num': 3, 'module': ''}
  4. key_c {'num': 5, 'module': ''}
复制代码

作者: jiangling_0103    时间: 2016-11-11 13:07
非常感谢啊~
作者: haooooaaa    时间: 2016-11-11 14:01
  1. sorted(dict_info.iteritems(),key=lambda (x,y):y["num"])
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2