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

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()函数会生成一个新的排序后的列表,并返回该列表。