sorted函数:Python中sorted函数的用法及排序示例
在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参数指定排序顺序。排好序的列表是一个新的对象,原始序列保持不变。
