2023-02-24 09:50:58
Python中的sorted()函数用于对可迭代对象进行排序,返回一个新列表,默认按升序排列,且不修改原对象。
基本功能sorted()是Python内置函数,可对列表、元组、字典等可迭代对象排序,返回新列表。例如:
my_list = [5, 3, 1, 2, 4]sorted_list = sorted(my_list) # 返回[1, 2, 3, 4, 5]排序依据
默认排序:按元素值升序排列。
自定义排序:通过key参数指定函数或Lambda表达式。例如:words = ["apple", "banana", "cherry"]sorted_by_length = sorted(words, key=len) # 按单词长度排序sorted_by_last_char = sorted(words, key=lambda x: x[-1]) # 按最后一个字母排序
排序顺序控制使用reverse=True可降序排序:
sorted_in_reverse = sorted(my_list, reverse=True) # 返回[5, 4, 3, 2, 1]与sort()的区别
sorted()返回新列表,原对象不变;list.sort()是列表方法,直接修改原列表。
sorted()接受key和reverse参数,但不支持cmp(Python 3已移除该参数)。
注意事项
对字典排序时,默认对键排序。若需对值排序,需结合key参数:d = {"a": 3, "b": 1, "c": 2}sorted_items = sorted(d.items(), key=lambda x: x[1]) # 按值排序
复杂对象(如自定义类)可通过key指定排序属性。
总结:sorted()提供灵活、安全的排序方式,适合需要保留原数据的场景,而key和reverse参数进一步扩展了其功能。