|
发表于 2025-5-5 10:09:24
|
显示全部楼层
关于列表排序时相同长度元素的排列顺序解释
当使用 sorted(t, key=len) 进行排序时:
1. 核心规则:当两个元素的 len() 返回值相同时,sorted() 会保留它们在原始列表中的相对顺序(稳定排序特性)
2. 你的例子分析:
假设原始列表为:
- t = ['Pen', 'Book', 'Fishc', 'Apple', 'banana']
复制代码
排序过程:
- Pen (3) → Book (4) → Fishc (5) → Apple (5) → banana (6)
- Fishc 和 Apple 长度都是 5
- 因为 Fishc 在原列表中出现在 Apple 之前,所以排序后保持这个顺序
3. 验证代码:
- t = ['Fishc', 'Apple', 'banana']
- print(sorted(t, key=len)) # 输出:['Apple', 'Fishc', 'banana']
复制代码
(注意:当长度完全相同时才会保持原序,此例仅作演示)
这个特性在文档中称为 "stable sort",是 Python 排序算法的重要特性。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|