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

如何用Python函数对列表进行排序操作?

发布时间:2023-07-03 10:13:42

在Python中,对列表进行排序可以使用内置函数sorted()或者列表对象的sort()方法,其中sorted()函数会返回一个新的排序后的列表,而sort()方法则会对原列表进行排序。

对列表进行排序操作可以分为以下几个步骤:

1. 列表的基本排序

lst = [4, 2, 5, 1, 3]
sorted_lst = sorted(lst)  # 使用sorted()函数对列表进行排序
lst.sort()  # 使用sort()方法对列表原地排序
print(sorted_lst)  # 输出:[1, 2, 3, 4, 5]
print(lst)  # 输出:[1, 2, 3, 4, 5]

在上述代码中,通过sorted()函数和sort()方法对列表进行了基本的升序排序,得到了排序后的新列表sorted_lst和原地排序后的lst。

2. 列表的降序排序

lst = [4, 2, 5, 1, 3]
sorted_lst = sorted(lst, reverse=True)  # 使用sorted()函数对列表进行降序排序
lst.sort(reverse=True)  # 使用sort()方法对列表原地降序排序
print(sorted_lst)  # 输出:[5, 4, 3, 2, 1]
print(lst)  # 输出:[5, 4, 3, 2, 1]

在上述代码中,通过sorted()函数和sort()方法传入参数reverse=True,对列表进行了降序排序。

3. 列表的自定义排序

通过传入自定义的函数key作为sorted()函数或者sort()方法的参数,可以实现根据特定条件对列表进行排序。

lst = [(1, 'apple'), (3, 'orange'), (2, 'banana')]
sorted_lst = sorted(lst, key=lambda x: x[0])  # 根据元组的      个元素升序排序
lst.sort(key=lambda x: x[1])  # 根据元组的第二个元素原地排序
print(sorted_lst)  # 输出:[(1, 'apple'), (2, 'banana'), (3, 'orange')]
print(lst)  # 输出:[(1, 'apple'), (2, 'banana'), (3, 'orange')]

在上述代码中,通过传入lambda函数作为key,对元组列表进行了按照元组 个元素的升序排序和按照第二个元素的原地排序。

通过以上示例,可以发现通过sorted()函数和sort()方法,我们可以方便地对列表进行排序操作。同时,可以根据需求进行升序、降序或者自定义排序。