Python sorted() 使用方法及示例

由网友 大卫 发布 阅读 8

Python sorted() 使用方法及示例

Python 内置函数

sorted()函数以迭代方式从项目返回排序列表。

sorted()函数以特定顺序(升序降序)对给定的可迭代元素进行排序。

sorted()的语法为:

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

sorted()参数

sorted() 最多可以使用三个参数:

  • iterable-序列(字符串元组列表)或集合(集合字典冻结集合)或任何其他迭代器。

  • reverse(可选) -如果为True,则已排序的列表将被反向(或以降序排列)。如果未提供,则默认为False。

  • key(可选) -用作排序比较键的功能。默认为None。

示例1:对字符串,列表和元组进行排序

# 元音列表
py_list = ['e', 'a', 'u', 'o', 'i']
print(sorted(py_list))

# string 
py_string = 'Python'
print(sorted(py_string))

# 元音元组
py_tuple = ('e', 'a', 'u', 'o', 'i')
print(sorted(py_tuple))

输出结果

['a', 'e', 'i', 'o', 'u']
['P', 'h', 'n', 'o', 't', 'y']
['a', 'e', 'i', 'o', 'u']

注意:列表还具有sort()方法,它的执行方式与sort()相同。惟一不同的是,sort()方法不返回任何值,并更改原始列表。

示例2:降序排序:集,字典和冻结集

sorted()函数接受一个reverse参数作为可选参数。

设置reverse = True按迭代顺序对可迭代对象进行排序。

# set
py_set = {'e', 'a', 'u', 'o', 'i'}
print(sorted(py_set, reverse = True))

# dictionary
py_dict = {'e': 1, 'a': 2, 'u': 3, 'o': 4, 'i': 5}
print(sorted(py_dict, reverse = True))

# frozen set
frozen_set = frozenset(('e', 'a', 'u', 'o', 'i'))
print(sorted(frozen_set, reverse = True))

输出结果

['u', 'o', 'i', 'e', 'a']
['u', 'o', 'i', 'e', 'a']
['u', 'o', 'i', 'e', 'a']

Python中的sorted()关键参数

如果希望使用自己的实现进行排序,那么sort()也接受key函数作为可选参数。

根据键函数的结果,可以对给定的可迭代对象进行排序。

sorted(iterable, key=len)

len() 是Python的内置函数,用于计算对象的长度。

列表根据元素的长度(从最低到最高计数)进行排序。

示例3:使用具有键函数的sorted()对列表进行排序

# 以第二个元素为排序
def take_second(elem):
    return elem[1]

# 随机列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]

# 键排序列表
sorted_list = sorted(random, key = take_second)

# 打印列表
print('排序的列表:', sorted_list)

输出结果

排序的列表: [(4, 1), (2, 2), (1, 3), (3, 4)]

Python 内置函数

Python 数字,类型转换和数学 Python len()