💡
原文中文,约3000字,阅读约需8分钟。
📝
内容提要
本文介绍了在 Python 中对列表进行排序的方法,包括使用 sort() 方法和 sorted() 方法进行基本排序、字典列表排序和多键值排序。还讨论了如何使用 lambda 表达式简化代码,以及处理二维列表和去重排序的技巧。
🎯
关键要点
- 在 Python 中,列表排序是常见需求,可以对数字和字符串列表进行排序。
- 使用 sort() 方法可以直接修改列表,支持升序和降序排序。
- sort() 方法的参数包括 reverse(控制升降序)和 key(自定义排序函数)。
- 通过 key 参数,可以对字典列表进行排序,例如按字典的 age 键排序。
- 使用 lambda 表达式可以简化字典列表的排序代码。
- sorted() 方法返回一个新列表,不会更改原始列表,支持 key 和 reverse 参数。
- 可以通过 lambda 表达式实现多键值排序,例如先按 age 排序,再按 score 排序。
- Python 可以对二维列表按某一列进行排序,使用 lambda 表达式指定排序依据。
- 可以通过集合去重后再排序列表,确保结果唯一且有序。
- 使用 enumerate 可以在排序时保留原始索引,方便后续操作。
❓
延伸问答
Python 中如何使用 sort() 方法对列表进行排序?
使用 sort() 方法可以直接修改列表,支持升序和降序排序,语法为 list.sort(reverse=True|False, key=sort_function)。
如何在 Python 中对字典列表进行排序?
可以通过 sort() 方法的 key 参数指定排序的键,例如 items.sort(key=lambda item: item['age']) 按 age 键排序。
什么是 sorted() 方法,它与 sort() 方法有什么区别?
sorted() 方法返回一个新列表,不会更改原始列表,而 sort() 方法会直接修改原列表。
如何在 Python 中实现多键值排序?
可以在 lambda 表达式中返回多个键,例如 items.sort(key=lambda item: (item['age'], item['score']))。
如何对二维列表按某一列进行排序?
可以使用 lambda 表达式指定排序依据,例如 data.sort(key=lambda x: x[0]) 按第一列排序。
如何在排序时去重列表?
可以通过集合去重后再排序,例如 unique_sorted_items = sorted(set(items))。
➡️