Python数字排序用sorted()返回新列表或.sort()原地修改列表;前者安全通用,后者高效省内存;均支持reverse=True降序和key参数自定义规则(如abs)。
Python 给数字排序很简单,核心是用 sorted() 函数或列表的 .sort() 方法。关键区别在于:前者返回新列表,不改变原列表;后者直接修改原列表,返回 None。
适用于需要保留原始顺序,或对元组、range 等不可变序列排序:
nums = [3, 1, 4, 1, 5]sorted_nums = sorted(nums) → [1, 1, 3, 4, 5]
reverse=True:sorted(nums, reverse=True)
ort() 原地排序列表只适用于列表,效率略高(不创建新对象),但会覆盖原数据:
nums = [3, 1, 4, 1, 5]nums.sort() → nums 变成 [1, 1, 3, 4, 5]
reverse=True 实现降序Python 数字排序按数学大小比较,无需额外处理:
mixed = [-2.5, 10, 0, -100, 3.14]sorted(mixed) → [-100, -2.5, 0, 3.14, 10]
比如想按“离 0 的距离”排,而不是数值本身:
nums = [-5, 3, -1, 4]sorted(nums, key=abs) → [-1, 3, 4, -5](因为 abs 后是 1,3,4,5)key 接收一个函数,每个元素先被它处理,再按结果排序基本上就这些。记住 sorted() 安全通用,.sort() 快且省内存——选哪个,看你要不要留原顺序。