欢迎访问宙启技术站
智能推送

sorted函数:Python中sorted函数的用法及排序示例

发布时间:2023-06-27 00:01:48

在Python中,我们可以使用sorted函数对列表、元组、集合、字典等可迭代对象进行排序。sorted函数是内置的函数,其返回一个新的已经排好序的列表。

一般形式:sorted(iterable[,key=][,reverse=])

参数:

- iterable:可迭代对象,例如列表、元组、集合、字典的键(默认按照 ASCII 码值进行比较)。

- key:可选参数,用于指定排序时的比较函数,即按照这个函数的返回值进行排序。

- reverse:可选参数,用于指定排序顺序,如果为True,则按照降序排列,否则按照升序排列(默认值为False)。

下面看一下sorted函数的用法及排序示例。

1. 对列表进行排序

列表是Python中最常见的序列类型,我们可以使用sorted函数将其排序。

示例:

lst = [4, 3, 2, 1]
sorted_lst = sorted(lst)

上述代码的输出结果是 [1, 2, 3, 4],即按照从小到大的顺序输出lst中的值。

2. 对元组进行排序

元组是不可变的序列类型,它们与列表在很多方面类似,但是它们不能被修改,因此使用sorted函数排序时,返回值仍为一个列表。

示例:

tpl = (4, 3, 2, 1)
sorted_tpl = sorted(tpl)

上述代码的输出结果为 [1, 2, 3, 4],即按照从小到大的顺序输出tpl中的值。

3. 对集合进行排序

集合是一种无序的序列类型,使用sorted函数进行排序时,返回值仍为一个列表。

示例:

st = {4, 3, 2, 1}
sorted_st = sorted(st)

上述代码的输出结果为 [1, 2, 3, 4],即按照从小到大的顺序输出st中的值。

4. 对字典进行排序

字典是由键-值对组成的集合,使用sorted函数对字典进行排序时,可以按照字典的键或者值进行排序。

按照键进行排序的示例:

dct = {'apple': 3, 'banana': 2, 'orange': 1}
sorted_dct = sorted(dct.items())

上述代码的输出结果为 [('apple', 3), ('banana', 2), ('orange', 1)],即按照字典的键按照升序排列。

按照值进行排序的示例:

dct = {'apple': 3, 'banana': 2, 'orange': 1}
sorted_dct = sorted(dct.items(), key=lambda x: x[1], reverse=True)

上述代码的输出结果为 [('apple', 3), ('banana', 2), ('orange', 1)],即按照字典的值按照降序排列。

总结:

通过本文的介绍,我们可以看到在Python中利用sorted函数对可迭代对象进行排序非常方便。在使用sorted函数时要注意参数的正确传递,如传递key参数指定排序函数,传递reverse参数指定排序顺序。排好序的列表是一个新的对象,原始序列保持不变。