如何用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()方法,我们可以方便地对列表进行排序操作。同时,可以根据需求进行升序、降序或者自定义排序。
