欢迎访问宙启技术站
智能推送

Python中如何使用sorted()排序函数?

发布时间:2023-07-06 05:42:04

在Python中,可以使用内置的sorted()函数对可迭代对象进行排序。sorted()函数可以接受多种参数,包括列表、元组、字符串和字典等。

 

基本语法如下:

sorted(iterable, key=None, reverse=False)

其中,iterable参数代表要排序的可迭代对象,如列表、元组或字符串。

key参数是一个可选的函数,用于为每个元素提供一个排序关键字,使排序基于关键字而不是元素本身。默认情况下,使用元素本身进行排序。

reverse参数是一个可选的布尔值,用于控制排序顺序。当reverse为True时,按降序排序;当reverse为False时,按升序排序。

下面是一些例子展示如何使用sorted()函数。

1. 对列表进行升序排序:

nums = [5, 2, 9, 1, 7]

sorted_nums = sorted(nums)

print(sorted_nums)  # [1, 2, 5, 7, 9]

2. 对字符串进行升序排序:

letters = 'python'

sorted_letters = sorted(letters)

print(sorted_letters)  # ['h', 'n', 'o', 'p', 't', 'y']

3. 对列表进行降序排序:

nums = [5, 2, 9, 1, 7]

sorted_nums = sorted(nums, reverse=True)

print(sorted_nums)  # [9, 7, 5, 2, 1]

4. 使用key函数按字符串的长度排序:

words = ['apple', 'orange', 'banana', 'pear']

sorted_words = sorted(words, key=len)

print(sorted_words)  # ['pear', 'apple', 'orange', 'banana']

5. 使用lambda函数按字符串的最后一个字符排序:

words = ['apple', 'orange', 'banana', 'pear']

sorted_words = sorted(words, key=lambda x: x[-1])

print(sorted_words)  # ['orange', 'banana', 'apple', 'pear']

6. 对字典按值进行排序:

scores = {'Alice': 85, 'Bob': 75, 'Charlie': 90, 'David': 80}

sorted_scores = sorted(scores.items(), key=lambda x: x[1])

print(sorted_scores)  # [('Bob', 75), ('David', 80), ('Alice', 85), ('Charlie', 90)]

在上述例子中,使用了不同的参数来控制排序结果。可以根据自己的需要来使用sorted()函数进行排序。注意,sorted()函数返回的是一个新的排序后的列表,原列表不会被修改。如果希望对原列表进行排序,可以使用列表的sort()方法。