Python 的 sorted() 函数


在本教程中,我们将学习 *Python* 中的 **sorted()** 函数。

**sorted()** 函数用于按 **升序** 或 **降序** 排序可迭代对象。我们甚至可以根据不同的键和值对字典列表进行排序。让我们充分利用 **sorted()** 函数。

**sorted()** 函数**不是**像 **sort** 方法一样的**就地**算法。

默认 sorted()

默认情况下,**sorted()** 函数将按 **升序** 排序可迭代对象。让我们来看一个例子。

示例

 在线演示

# initializing a list
numbers = [4, 3, 5, 1, 2]
# sorting the numbers
sorted_numbers = sorted(numbers)
# printing the sorted_numbers
print(sorted_numbers)

输出

如果运行上述代码,您将得到以下结果。

[1, 2, 3, 4, 5]

反向 sorted()

我们可以将参数 **reverse** 设置为 **True** 以按降序排序可迭代对象。让我们来看一个例子。

示例

 在线演示

# initializing a list
numbers = [4, 3, 5, 1, 2]
# sorting the numbers
sorted_numbers = sorted(numbers, reverse=True)
# printing the sorted_numbers
print(sorted_numbers)

输出

如果运行上述代码,您将得到以下结果。

[5, 4, 3, 2, 1]

sorted() 的 key 参数

**sorted()** 函数将接受另一个可选参数,称为 **key**。**key** 参数用于告诉 **sorted()** 需要根据哪个值对列表进行排序。

假设我们有一个 **字典** 列表。我们必须根据某个值对 **字典** 列表进行排序。在这种情况下,我们将 **key** 作为参数传递,并使用一个函数返回我们需要对字典列表进行排序的特定值。

示例

 在线演示

# initializing a list
numbers = [{'a': 5}, {'b': 1, 'a': 1}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'e'
'a': 2}]
# sorting the list of dict based on values
sorted_dictionaries = sorted(numbers, key= lambda dictionary: dictionary['a'])
# printing the numbers
print(sorted_dictionaries)

输出

如果运行上述代码,您将得到以下结果。

[{'b': 1, 'a': 1}, {'e': 2, 'a': 2}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'a':

结论

如果您对本教程有任何疑问,请在评论区提出。

更新于:2020年7月11日

309 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告