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

Python开发 阅读(74) 05-07 更新 扫码查看网页


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

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

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

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

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

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

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:降序排序

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

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

  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
声明:本站信息原创或由互联网收集,未用于商业用途,如若侵权,请联系站长删除!