Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

Python FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/python-builtin-functions-sorted.html

python 对所有可迭代的对象进行排序操作的内置函数 sorted 详解

Python 内置函数 Python 内置函数


sorted() 是 Python 内置的用于排序可迭代对象的函数。

函数语法

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

参数:

  • iterable :可迭代对象,如列表、元组、字符串等。
  • key (可选):用于指定一个函数,它将被用于每个元素来提取用于排序的比较键。默认为 None,表示直接比较元素本身。
  • reverse (可选):一个布尔值,用于指定是否按降序排序。默认为 False,表示升序排序。

示例代码

对列表进行升序排序:

numbers = [5, 2, 8, 1, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

运行结果:

[1, 2, 3, 5, 8]

对字符串列表按字符串长度排序:

words = ['apple', 'banana', 'cherry', 'date', 'elderberry']
sorted_words = sorted(words, key=len)
print(sorted_words)

运行结果:

['date', 'apple', 'cherry', 'banana', 'elderberry']

对字典列表按值排序:

people = [
    {'name': 'Alice', 'age': 30},
    {'name': 'Bob', 'age': 25},
    {'name': 'Eve', 'age': 28}
]
sorted_people = sorted(people, key=lambda x: x['age'])
print(sorted_people)

运行结果:

[    {'name': 'Bob', 'age': 25},    {'name': 'Eve', 'age': 28},    {'name': 'Alice', 'age': 30}]

降序排序:

numbers = [5, 2, 8, 1, 3]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)

运行结果:

[8, 5, 3, 2, 1]

总结

它的强大之处在于可以通过 key 参数指定自定义排序规则,而且支持升序和降序排列。通过合理使用 key 函数,你可以在排序时按照自己的需求对元素进行定制化的比较和排序操作。

filter是Python内置函数之一,用于从一个可迭代对象中过滤出满足指定条件的元素,并返回一个由满足条件的元素组成的迭代器(iterat ...
10中引入了一个新的内置函数aiter(),它用于获取可迭代对象的异步迭代器对象。run(main())运行结果:012使用sentinel ...
anext() 是Python的内置函数之一,用于获取可迭代对象(iterable)中的下一个元素。函数语法anext(iterator)参 ...
sum()是Python内置的函数,用于计算可迭代对象(如列表、元组、集合等)中所有元素的和。5示例5:使用生成器表达式计算和:genera ...
all()是Python内置的一个函数,用于判断一个可迭代对象中的所有元素是否都为真值(即非零、非空、非False)。要注意,当传入空的可迭 ...