Python中如何按值对字典进行排序

liftword5个月前 (12-11)技术文章44
# 如何按值对字典进行排序 

>>> xs = {'a': 4, 'b': 3, 'c': 2, 'd': 1}

>>> sorted(xs.items(), key=lambda x: x[1])
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]

# Or:

>>> import operator
>>> sorted(xs.items(), key=operator.itemgetter(1))
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]

sorted() 函数

sorted() 函数对所有可迭代的对象进行排序操作。

sorted(iterable, cmp=None, key=None, reverse=False)

参数说明:

  • iterable -- 可迭代对象。
  • cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

Python 字典(Dictionary) items()方法

Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

lambda匿名函数

匿名函数就是不需要显式的指定函数,是由lambda关键字来定义,格式如下:

lambda x:x+1

x为形参,x+1为函数体(相当于返回值)

其最终需要赋值给一个变量

f = lambda x:x+1

print(f(3))

>>> 4


同样可以返回多个值,用括号括起来即可

f = lambda x,y,z:(x+1,y+1,z+1)

print(1,2,3)

>>> (2,3,4)


key=lambda x: x[1])表示使用第二个元素作为关键字

相关文章

Python 编写函数的基础知识

函数是执行特定任务的命名代码块。它们允许您通过将可重用代码分组到可调用的段中来避免重复。功能:函数是旨在执行单个明确定义的任务的命名代码块。您需要执行任务时,只需 “调用” 该函数,该函数会告诉 P...