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

Python中的sorted函数的使用方法和参数:sorted()函数是一个内置函数,它接受一个可迭代对象作为输入,并返回一个按照特定排序规则排序后的新列表。

发布时间:2023-07-08 21:04:23

Python中的sorted函数是一个内置函数,它接受一个可迭代对象作为输入,并返回一个按照特定排序规则排序后的新列表。

sorted函数的基本用法是:

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

其中,iterable代表要排序的可迭代对象,可以是列表、元组、字符串等;

key是一个可选参数,它代表排序规则,可以是一个函数或者lambda表达式;

reverse也是一个可选参数,默认为False,表示升序排列,设置为True时代表降序排列。

当sorted函数没有指定key参数时,它会按照默认的排序规则对元素进行排序。对于数字类型,按照从小到大的顺序排序;对于字符串类型,按照字母顺序排序(忽略大小写);对于其他类型,则按照对象的特定顺序进行排序。

下面是一些sorted函数的使用示例:

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

numbers = [1, 3, 2, 5, 4]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出 [1, 2, 3, 4, 5]

2. 对字符串列表进行字母顺序排序:

words = ['apple', 'banana', 'cherry', 'orange']
sorted_words = sorted(words)
print(sorted_words)  # 输出 ['apple', 'banana', 'cherry', 'orange']

3. 对元组列表根据元组中的第二个元素进行排序:

students = [('Alice', 90), ('Bob', 80), ('Charlie', 95)]
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)  # 输出 [('Bob', 80), ('Alice', 90), ('Charlie', 95)]

在这个示例中,lambda表达式lambda x: x[1]作为key参数传递给sorted函数,表示按照元组中的第二个元素进行排序。

4. 对字典进行排序:

scores = {'Alice': 90, 'Bob': 80, 'Charlie': 95}
sorted_scores = sorted(scores.items(), key=lambda x: x[1])
print(sorted_scores)  # 输出 [('Bob', 80), ('Alice', 90), ('Charlie', 95)]

在这个示例中,我们使用scores.items()将字典转换为可迭代对象,然后使用lambda表达式lambda x: x[1]作为key参数,表示按照字典的值进行排序。

5. 对字符串列表按照长度进行排序:

words = ['apple', 'banana', 'cherry', 'orange']
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)  # 输出 ['apple', 'cherry', 'banana', 'orange']

在这个示例中,我们使用lambda表达式lambda x: len(x)作为key参数,表示按照字符串的长度进行排序。

总结来说,sorted函数是一个非常有用的函数,可以根据特定的排序规则对可迭代对象进行排序,并返回一个新的排序后的列表。通过设置key参数,我们可以自定义排序规则。此外,通过设置reverse参数,我们还可以实现降序排列。