Python中如何使用sorted函数进行排序?
发布时间:2023-05-29 04:30:19
sorted函数是Python内置的一个排序函数,用于对一个序列进行排序,使其按照一定规则排列。
使用sorted函数对一个序列进行排序有两种方式:
1. 使用sorted函数对原始序列进行排序,返回一个新序列。
sorted函数的基本用法为:
sorted(iterable, key=None, reverse=False)
其中,iterable表示可迭代对象,比如列表、元组、字典等,key和reverse是可选参数。
key是一个函数,用于指定排序中的比较规则。例如,如果要按照字符串长度进行排序,可以使用key=len:
lst = ['apple', 'banana', 'pear', 'watermelon'] sorted_lst = sorted(lst, key=len) print(sorted_lst) # ['pear', 'apple', 'banana', 'watermelon']
reverse表示排序顺序,如果为True,则降序排序;如果为False,则升序排序,默认为False。例如,将lst按照默认规则进行降序排序,可以使用reverse=True:
lst = ['apple', 'banana', 'pear', 'watermelon'] sorted_lst = sorted(lst, reverse=True) print(sorted_lst) # ['watermelon', 'pear', 'banana', 'apple']
2. 对一个序列进行原地排序,不返回新序列。
如果想对原始序列进行排序,则可以使用sort方法。与sorted函数不同的是,该方法会对原始序列进行修改,返回值为None。
lst = ['apple', 'banana', 'pear', 'watermelon'] lst.sort() print(lst) # ['apple', 'banana', 'pear', 'watermelon']
需要注意的是,如果使用sort方法,不能同时指定key和reverse参数,如果需要使用这两个参数,则需要先使用sorted函数进行排序,再将结果赋值给原始序列。
lst = ['apple', 'banana', 'pear', 'watermelon'] lst = sorted(lst, key=len, reverse=True) print(lst) # ['watermelon', 'banana', 'apple', 'pear']
