python列表排序怎么设置

2023-11-17 16:03:03

Python中的列表排序可以使用`sort()`函数和`sorted()`函数进行设置。

1. 使用`sort()`函数对列表进行原地排序:

   lst = [3, 1, 4, 2]
   lst.sort()  # 原地排序
   print(lst)  # 输出:[1, 2, 3, 4]
   

2. 使用`sorted()`函数对列表进行排序并返回新的排序后的列表:

   lst = [3, 1, 4, 2]
   sorted_lst = sorted(lst)  # 返回新的排序后的列表
   print(sorted_lst)  # 输出:[1, 2, 3, 4]
   

3. 对于列表中的复杂对象,可以使用`key`参数来指定排序的依据。`key`参数是一个函数,接受列表中的每个元素作为参数,并返回一个用于排序的键。例如,对于一个包含字符串的列表,可以按照字符串的长度进行排序:

   lst = ['grape', 'watermelon', 'cherry', 'date']
   sorted_lst = sorted(lst, key=len)  # 按照字符串的长度进行排序
   print(sorted_lst)  # 输出:['date', 'grape', 'cherry', 'watermelon']
   

4. 可以使用`reverse`参数来指定是否按照逆序进行排序,默认为`False`。例如,对一个整数列表进行逆序排序:

   lst = [3, 1, 4, 2]
   sorted_lst = sorted(lst, reverse=True)  # 逆序排序
   print(sorted_lst)  # 输出:[4, 3, 2, 1]
   

需要注意的是,`sort()`函数是原地排序,会修改原始列表,而`sorted()`函数是返回新的排序后的列表,不会修改原始列表。