2021-02-21 14:10:50
Python中的sorted()函数是一个内置函数,用于对所有可迭代的对象进行排序操作。以下是对sorted()函数的详细解析:
基本功能iterable:
必需参数,指定要排序的可迭代对象。
key:
可选参数,用于指定一个函数(或其他可调用对象),该函数将被应用到可迭代对象的每一个元素上,以根据函数的返回值进行比较和排序。
如果未指定或为None,则直接根据元素本身的值进行比较。
reverse:
可选参数,用于指定排序规则。
如果为True,则按降序排序;如果为False(默认),则按升序排序。
应用对象:
list.sort()是列表(list)的一个方法,只能用于列表。
sorted()是一个内置函数,可以用于任何可迭代对象。
返回值:
list.sort()方法返回None,它是在原地对列表进行排序,即直接修改原列表。
sorted()函数返回一个新的列表,原可迭代对象保持不变。
基本排序:
numbers = [3, 1, 4, 1, 5, 9, 2]sorted_numbers = sorted(numbers)print(sorted_numbers) # 输出: [1, 1, 2, 3, 4, 5, 9]降序排序:
numbers = [3, 1, 4, 1, 5, 9, 2]sorted_numbers_desc = sorted(numbers, reverse=True)print(sorted_numbers_desc) # 输出: [9, 5, 4, 3, 2, 1, 1]使用key参数:
words = ["banana", "pie", "apple", "grape"]sorted_words = sorted(words, key=lambda x: len(x))print(sorted_words) # 输出: ['pie', 'apple', 'grape', 'banana']对字典排序:
d = {'apple': 3, 'banana': 1, 'cherry': 2}sorted_dict_items = sorted(d.items(), key=lambda x: x[1])print(sorted_dict_items) # 输出: [('banana', 1), ('cherry', 2), ('apple', 3)]sorted()函数是Python中一个非常实用的内置函数,它能够对各种可迭代对象进行排序,并返回一个新的列表。通过key和reverse参数,可以灵活地控制排序的规则和方式。与list.sort()方法相比,sorted()函数更加通用,因为它可以应用于任何可迭代对象,而不仅仅是列表。