Python内置函数sorted()实现列表按值排序
发布时间:2023-07-04 21:19:32
Python的内置函数sorted()可以按照指定的规则对可迭代对象进行排序。对于列表来说,可以通过传入一个参数来指定排序的依据。
sorted()函数会返回一个新的已排序的列表,而不会修改原来的列表。下面是一个示例:
numbers = [5, 2, 8, 1, 9] sorted_numbers = sorted(numbers) print(sorted_numbers) # [1, 2, 5, 8, 9] print(numbers) # [5, 2, 8, 1, 9]
在以上的例子中,我们创建了一个包含一些数字的列表numbers,然后使用sorted()函数对它进行排序,并把排序后的结果保存在变量sorted_numbers中,原来的列表numbers没有被修改。
sorted()函数还可以接受一个可选的参数key,它用来指定排序的依据。key参数是一个函数,它将应用到每个元素上,返回一个用于排序的值。下面是一个示例:
fruits = ['apple', 'banana', 'cherry', 'date'] sorted_fruits = sorted(fruits, key=len) print(sorted_fruits) # ['date', 'apple', 'cherry', 'banana']
在以上的例子中,我们创建了一个包含一些水果名称的列表fruits,然后使用sorted()函数对它进行排序。我们指定key参数为len函数,它会返回每个元素的长度作为排序的依据。结果是按照水果名称的长度从短到长进行排序。
除了key参数,sorted()函数还可以接受一个可选的参数reverse,它用来指定是否按照降序排序。默认情况下,reverse参数为False,表示按照升序排序。下面是一个示例:
numbers = [5, 2, 8, 1, 9] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # [9, 8, 5, 2, 1]
在以上的例子中,我们创建了一个包含一些数字的列表numbers,然后使用sorted()函数对它进行降序排序。
除了列表,sorted()函数还可以对其他可迭代对象进行排序,比如字符串、元组等。由于sorted()函数返回一个新的已排序的列表,所以我们可以使用它对任何可迭代对象进行排序。
总结起来,sorted()函数可以实现列表按照值进行排序。我们可以使用key参数来指定排序的依据,使用reverse参数来指定是否按照降序排序。使用sorted()函数可以方便地对可迭代对象进行排序,而不需要手动实现排序算法。
