sort方法和sorted()函数

时间:2022-02-06 07:10:48

sort方法和sorted()函数的区别:

相同点:都能完成排序操作。

不同点:

(1)使用sort()方法对list排序会修改list本身,不会返回新list,sort()不能对dict字典进行排序;

(2)sorted方法对可迭代的序列排序生成新的序列,对dict排序默认会按照dict的key值进行排序,

最后返回的结果是一个对key值排序好的list;

(3)sorted对tuple, dict依然有效,而sort不行。

sort方法

类似于reverse,sort方法也是List(列表)内建的函数,主要用于列表元素的排序,其语法为:

#key可以指定列表元素比较时用到的函数
#reverse默认时False(升序),指定为True时降序排列
List.sort(key=None,reverse=False)
sort方法和sorted()函数

sort方法和sorted()函数

sort方法和sorted()函数

sort方法和sorted()函数

sort方法和sorted()函数

sort方法和sorted()函数

d = {"a": 56, "b": 23, "f": 41, "c": 90,"d": 12, "e": 64, "g": 88}
y=sorted(d.items())
print(y)
m=sorted(d.items(),key=lambda x:x[1])#按字典的key值进行排序
print(m)
a=sorted(d.items(),key=lambda x:x[1],reverse = True) #副本
print(a)
# 第一个参数是需要排序的列表,第二个参数是指定key(列表中每一项的第几个元素)来进行排序。
# d.items()返回的是一个列表
# [('a', 56), ('b', 23), ('c', 90), ('d', 12), ('e', 64), ('f', 41), ('g', 88)]
# sorted会对d.items()这个list进行遍历,把list中的每一个元素,
# 也就是每一个tuple()当做x传入匿名函数lambda x:x[1],
# 函数返回值为x[1], 也就是key=x[1]=tuple()[1]=('a', 56)[1],
# 也就是说按照里表中每个项的第二个元素进行排序(第一个是x[0])