Python 中如何使用 sorted() 函数进行排序
发布时间:2023-09-23 16:39:54
在Python中,我们可以使用sorted()函数来对可迭代对象进行排序。sorted()函数接受一个可迭代对象作为参数,并返回一个新的已排序的列表,而不会改变原始对象。
sorted()函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
- iterable:表示需要排序的可迭代对象,比如列表、元组、字符串等;
- key:可选参数,用于指定排序规则,可以是一个函数或者lambda表达式。默认情况下,按照元素的自然顺序进行排序;
- reverse:可选参数,用于指定排序结果的顺序。默认值为False(升序),如果设置为True,则会按照降序排序。
下面是一些使用sorted()函数进行排序的示例:
1. 对一个列表进行升序排序:
numbers = [5, 2, 1, 4, 3] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出: [1, 2, 3, 4, 5]
2. 对一个元组进行降序排序:
letters = ('b', 'c', 'a')
sorted_letters = sorted(letters, reverse=True)
print(sorted_letters) # 输出: ['c', 'b', 'a']
3. 使用key参数指定排序规则:
fruits = ['apple', 'banana', 'cherry', 'date'] sorted_fruits = sorted(fruits, key=len) print(sorted_fruits) # 输出: ['date', 'apple', 'banana', 'cherry']
上面的例子使用了len函数作为排序规则,按照元素的长度进行排序。
4. 使用lambda表达式指定排序规则:
names = ['Jack', 'John', 'Jill', 'Jane'] sorted_names = sorted(names, key=lambda x: x[1]) print(sorted_names) # 输出: ['Jane', 'Jack', 'John', 'Jill']
上面的例子使用了lambda表达式lambda x: x[1]作为排序规则,按照元素的第二个字符进行排序。
需要注意的是,sorted()函数返回的是一个新的已排序的列表,如果想原地修改原始对象,可以使用sort()方法,该方法会对原始对象进行排序,而不是返回新的列表。
numbers = [5, 2, 1, 4, 3] numbers.sort() print(numbers) # 输出: [1, 2, 3, 4, 5]
这就是使用sorted()函数进行排序的基本用法。通过设置key参数,可以实现更加灵活的排序规则。同时,可以根据需要设置reverse参数来控制排序结果的顺序。在实际应用中,可以根据具体需求灵活运用sorted()函数,实现多种排序操作。
