Python中的sort()函数和其用法
发布时间:2023-07-02 04:15:47
Python中的sort()函数用于对列表进行排序,可以根据不同的需求进行升序或降序排序。
sort()函数有两种用法:
1. 对原列表进行排序:
list.sort(key=None, reverse=False)
- key参数用于指定排序的依据,可以传入一个函数或lambda表达式。例如,若要按照元素的绝对值大小排序可以使用key=abs。
- reverse参数用于指定排序的顺序,False表示升序(默认),True表示降序。
示例:
numbers = [3, 7, 1, 9, 5] numbers.sort() print(numbers) # 输出 [1, 3, 5, 7, 9]
2. 生成一个新的排序后的列表,不改变原列表的排序:
sorted_list = sorted(list, key=None, reverse=False)
示例:
numbers = [3, 7, 1, 9, 5] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出 [1, 3, 5, 7, 9] print(numbers) # 输出 [3, 7, 1, 9, 5]
另外,sort()函数和sorted()函数都可以接受一个key参数,用于指定自定义的排序规则。这个参数应该是一个函数或lambda表达式,它将作用于列表的每个元素,生成排序的依据。
示例:
names = ['Alice', 'bob', 'Charlie', 'david'] names.sort(key=str.lower) print(names) # 输出 ['Alice', 'bob', 'Charlie', 'david']
在上述示例中,列表中的元素将被转换为小写字母后进行排序。
需要注意的是,sort()函数和sorted()函数只能用于可比较的元素,不适用于特殊对象或不可比较的数据类型。同时,sort()函数是在原列表上进行排序,没有返回值,而sorted()函数会生成一个新的排序后的列表,并返回该列表。
