Python内置函数:sorted()-如何使用Python内置函数sorted()对列表进行排序?
sorted()是Python的一个内置函数,用于对列表进行排序。它可以接受一个可迭代对象作为参数,并返回一个新的排好序的列表,而不会改变原来的列表。
sorted()函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
其中,iterable是可迭代对象,例如列表、元组、字符串等;key是可选的参数,用于指定排序时使用的比较函数;reverse是可选的参数,用于指定是否以降序方式排序。
在没有指定key和reverse参数时,sorted()函数会默认使用正序方式对可迭代对象进行排序。例如,对一个列表进行正序排序,可以直接调用sorted()函数:
numbers = [5, 2, 9, 1, 7] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出:[1, 2, 5, 7, 9]
可以看到,sorted()函数返回的结果是一个新的排序好的列表,原来的numbers列表并没有发生改变。
如果需要对列表进行降序排序,可以在调用sorted()函数时传入reverse=True参数:
numbers = [5, 2, 9, 1, 7] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # 输出:[9, 7, 5, 2, 1]
可以看到,传入reverse=True参数后,sorted()函数会将列表中的元素按照降序排列。
除了正序和降序排序之外,还可以使用key参数指定自定义比较函数。比较函数可以是一个lambda函数、一个方法或一个自定义的函数。比较函数需要接受一个参数,表示列表中的每个元素,然后返回一个可比较的值。根据比较函数返回的值进行排序。
例如,对一个字符串列表按照字符串长度进行排序,可以使用lambda函数作为key参数:
words = ['apple', 'banana', 'orange', 'kiwi'] sorted_words = sorted(words, key=lambda x: len(x)) print(sorted_words) # 输出:['kiwi', 'apple', 'banana', 'orange']
可以看到,按照字符串长度进行排序之后,列表中的元素根据长度从小到大排列。
除了列表,sorted()函数还可以对其他类型的可迭代对象进行排序,例如元组、字符串等。
总结来说,sorted()是Python内置的一个用于排序的函数,可以对列表进行正序或降序排序,并且可以使用key参数指定自定义的比较函数。使用sorted()函数可以方便地对列表进行排序,而不改变原来的列表。
