💡
原文英文,约600词,阅读约需3分钟。
📝
内容提要
本文介绍了多种排序方法,包括按字符串长度、字母顺序、最后一个字符、元组第二个元素、字典特定键(如年龄)、绝对值及自定义对象属性进行排序,并展示了如何按多个标准排序和处理复杂对象。
🎯
关键要点
- 按字符串长度排序
- 按字母顺序排序(默认)
- 按字符串最后一个字符排序
- 按元组第二个元素排序
- 按元组元素和排序
- 按字典特定键(如年龄)排序
- 按多个标准排序(年龄然后名字)
- 按数字的绝对值排序
- 按自定义对象属性(年龄)排序
- 按逆序排序
- 按句子中单词的长度排序
- 按每个单词的第一个字符排序
- 按浮点数的小数部分排序
- 按日期排序(使用datetime对象)
- 对复杂对象按多个列排序(年龄,然后名字)
- 按自定义函数处理复杂排序
❓
延伸问答
如何按字符串长度对列表进行排序?
可以使用sorted函数,指定key为字符串长度,例如:sorted(words, key=lambda x: len(x))。
如何按字典的特定键(如年龄)进行排序?
使用sorted函数,指定key为字典的特定键,例如:sorted(students, key=lambda x: x['age'])。
可以按多个标准进行排序吗?
可以,通过在key中使用元组来指定多个排序标准,例如:sorted(students, key=lambda x: (x['age'], x['name']))。
如何对元组按第二个元素进行排序?
使用sorted函数,指定key为元组的第二个元素,例如:sorted(tuples, key=lambda x: x[1])。
如何按浮点数的小数部分进行排序?
可以使用sorted函数,指定key为浮点数减去其整数部分,例如:sorted(numbers, key=lambda x: x - int(x))。
如何对复杂对象按自定义属性进行排序?
使用sorted函数,指定key为对象的自定义属性,例如:sorted(athletes, key=lambda x: x.age)。
➡️