python字典排序方法,按字典序排序 python

  python字典排序方法,按字典序排序 python

  创建一个字典。

  Dict1={a 33602, b 33603, c 33608, d 33604} 1。分别选择键和值。

  使用dict1.keys()、dict1.vaules(),

  因为键和值比较多,所以要加S,注意这里的括号。如果你不注意这样的小细节,很容易出错。

  打印(dict1.values()、dict1.keys())结果:

  Dict _ values ([4,2,8,3]) dict _ keys ([d , a , c , b])可以看出返回的是列表的形式。

  2.同时选择键和值。

  同时,获取字典dict1.items()的键和值,并在这里添加S和括号。

  打印(dict1.items())结果:

  Dict _ items ([(d ,4),( a ,2),( c ,8),( b ,3)])可以看出返回的结果是一个元组列表。

  也就是说,通过dict1.items()函数,将字典形式的键和值存储在一个元组中。

  3.整理

  3.1已排序

  我们来看看用sorted()直接排序的情况。

  dict1={a:2, e:3, f:8, d:4}

  dict2=已排序(dict1)

  打印(字典2)结果:

  [a , d , e , f]sorted()默认是字典的键,从小到大排序。

  3.2.以相反的顺序排列关键字

  将关键字反向排序(从最大到最小)

  dict1={a:2, e:3, f:8, d:4}

  dict2=排序(dict1,reverse=True)

  打印(字典2)结果:

  [f , e , d , a]像这样对键排序往往是为了得到值。

  获取键,对应的值,如:

  Print(dict1[dict2[0]])#结果是8

  当然,我们也可以先获取所有的键,然后对键进行排序。

  dict1={a:2, e:3, f:8, d:4}

  list1=已排序(dict1.keys(),reverse=True)

  Print(list1)#结果:[f , e , d , a]3.3。对值进行排序

  同样,用dict1.values()获取所有值,然后对值进行排序。

  dict1={a:2, e:3, f:8, d:4}

  list1=sorted(dict1.values())

  Print(list1)# Result: [2,3,4,8]设置值reverse=True进行反向排序。

  还可以使用dict1.items()获取包含键和值的元组。

  因为迭代对象是元组,所以返回值自然是元组列表。

  这里定义了排序的规则。x是指元组,x[1]是值,x[0]是键。

  dict1={a:2, e:3, f:8, d:4}

  list1=sorted(dict1.items(),key=lambdax:x[1])

  打印(列表1)结果:

  [(a ,2),( e ,3),( d ,4),( f ,8)]对键进行排序:

  dict1={a:2, e:3, f:8, d:4}

  list1=sorted(dict1.items(),key=lambdax:x[0])

  打印(列表1)结果:

  [(a ,2),( d ,4),( e ,3),( f ,8)]4 itemgetter

  from operator importititemgetter

  d={a:8, b:4, c:12}

  print(已排序(d.items(),key=itemgetter(0),reverse=True))

  Print (sorted (d.items(),key=itemgetter (1),reverse=true))结果:

  [(c ,12),( b ,4),( a ,8)]

  [(c ,12),( a ,8),( b ,4)] itemgetter (0),获取密钥

  Itemgetter(1),获取值。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: