Python对列表进行排序代码示例

Python开发 阅读(4) 21小时前 更新


在 Python 中,对列表排序主要有两种方式:

1. list.sort() —— 原地排序


直接修改原列表,返回 None。


nums = [3, 1, 4, 1, 5]

nums.sort()

print(nums)   # [1, 1, 3, 4, 5]


2. sorted() —— 返回新列表


原列表不变,返回排序后的新列表。


```python

nums = [3, 1, 4, 1, 5]

sorted_nums = sorted(nums)

print(sorted_nums)  # [1, 1, 3, 4, 5]

print(nums)         # [3, 1, 4, 1, 5]

```


常用参数


· reverse:降序排序

 ```python

 nums.sort(reverse=True)   # [5, 4, 3, 1, 1]

 sorted(nums, reverse=True)

 ```

· key:指定排序依据的函数

 ```python

 words = ["banana", "apple", "Cherry"]

 words.sort(key=str.lower)   # 忽略大小写排序

 # ['apple', 'banana', 'Cherry']

 

 # 按元组第二个元素排序

 pairs = [(1, 3), (2, 2), (3, 1)]

 pairs.sort(key=lambda x: x[1])  # [(3,1), (2,2), (1,3)]

 ```


注意事项


· list.sort() 只适用于列表,sorted() 可作用于任何可迭代对象(如元组、字符串),返回列表。

· 两者都采用 Timsort 算法,时间复杂度 O(n log n),稳定排序。


如果需要其他数组类型(如 array.array 或 NumPy 数组),请补充说明。

#Python

本文标题:Python对列表进行排序代码示例
本文链接:https://www.befun.ink/detail/20221.html
声明:本站信息原创或由互联网收集,未用于商业用途,如若侵权,请联系站长删除!

懒师傅敲代码

小小站长!一个写代码的“程序猿”

优秀作者 战斗力十足

1.9w

文章

312w+

阅读

635w+

访问量