优草派  >   Python

python中sorted函数如何使用?

杨志强            来源:优草派

Python中sorted()函数是一个内置函数,它用于排序一个可迭代对象。sorted()函数可以对列表、元组、字符串和字典等对象进行排序。使用sorted()函数进行排序的时候,我们可以使用sorted()函数的多种参数来控制排序的方式。!n

下面我们从多个角度来分析python中sorted函数的使用方式。

python中sorted函数如何使用?

参数说明:

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

其中,iterable代表要排序的迭代器,key表示为在每个元素进行比较之前,要应用的函数。reverse为一个布尔类型值,如果设置为True,则列表的排序规则会反转。

使用示例:

# 对列表进行升序排序

a = [3, 2, 8, 5, 1, 4]

a = sorted(a)

print(a)

# 输出 [1, 2, 3, 4, 5, 8]

# 对字符串进行升序排序

b = 'python'

b = sorted(b)

print(b)

# 输出 ['h', 'n', 'o', 'p', 't', 'y']

# 对元组进行升序排序

c = (3, 2, 8, 5, 1, 4)

c = sorted(c)

print(c)

# 输出 [1, 2, 3, 4, 5, 8]

# 对字典进行排序

d = {'apple': 20, 'banana': 10, 'pear': 15}

d_list = sorted(d.items(), key=lambda x: x[1])

print(d_list)

# 输出 [('banana', 10), ('pear', 15), ('apple', 20)]

从上面的使用示例中可以看出,sorted()函数可以非常方便地对不同类型的对象进行排序,并且可以使用关键字参数来自定义排序规则。

关键字参数key的使用:

我们可以使用关键字参数key来自定义排序规则。这个参数需要传一个函数,该函数会在每个元素进行比较之前先应用到元素上。比如下面这个例子。

e = [{'name': 'Tom', 'age': 20}, {'name': 'Jerry', 'age': 15}, {'name': 'Mike', 'age': 25}]

e = sorted(e, key=lambda x: x['age'])

print(e)

# 输出 [{'name': 'Jerry', 'age': 15}, {'name': 'Tom', 'age': 20}, {'name': 'Mike', 'age': 25}]

在上面的代码中,我们使用了lambda函数,对一个list of dict按照年龄升序排序。

关键字参数reverse的使用:

reverse为一个布尔类型值,如果设置为True,则列表的排序规则会反转。下面是一个示例:

f = [3, 2, 8, 5, 1, 4]

f = sorted(f, reverse=True)

print(f)

# 输出 [8, 5, 4, 3, 2, 1]

在上面的代码中,我们使用了reverse参数对一个list进行降序排序。

总结:

sorted()函数是Python内置函数,用于对可迭代对象进行排序操作,支持对列表、元组、字符串和字典等对象进行排序。同时,通过传递关键字参数key和reverse,可以自定义排序规则和实现升降序功能。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行