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

Python中sorted函数的使用及实例分析?

发布时间:2023-06-23 07:44:19

Python中的sorted()函数是用来进行排序操作的,它可以对列表、元组、字符串等可迭代对象进行排序操作,并返回一个新的已排序的列表。sorted()函数有一个可选参数key,可以用来指定一个函数来为每个元素进行排序。

语法格式如下:

sorted(iterable[, key][, reverse])

参数说明:

- iterable:待排序的可迭代对象。

- key:指定一个函数来为每个元素进行排序。默认为None,表示按照元素本身的大小进行排序。

- reverse:是否进行反向排序。默认为False,表示按照升序排序。

下面我们来看一下sorted()函数的一些实例分析。

1.对列表进行排序

示例代码如下:

lst = [3, 1, 4, 2, 5]

print(sorted(lst)) # 输出:[1, 2, 3, 4, 5]

2.对元组进行排序

示例代码如下:

tup = (3, 1, 4, 2, 5)

print(sorted(tup)) # 输出:[1, 2, 3, 4, 5]

3.对字符串进行排序

示例代码如下:

s = "hello world!"

print(sorted(s)) # 输出:[' ', '!', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']

4.按照指定函数进行排序

示例代码如下:

lst = ["apple", "banana", "orange", "kiwi"]

print(sorted(lst, key=len)) # 输出:['kiwi', 'apple', 'banana', 'orange']

上面的代码中,我们指定了key为len,表示按照每个元素的长度来进行排序。

5.进行反向排序

示例代码如下:

lst = [3, 1, 4, 2, 5]

print(sorted(lst, reverse=True)) # 输出:[5, 4, 3, 2, 1]

6.对字典进行排序

如果我们需要对字典进行排序,则需要先将字典转换为列表,然后再对列表进行排序操作。示例代码如下:

d = {'apple': 5, 'banana': 2, 'orange': 7, 'kiwi': 3}

lst = list(d.items())

print(sorted(lst, key=lambda x: x[1])) # 输出:[('banana', 2), ('kiwi', 3), ('apple', 5), ('orange', 7)]

上面的代码中,我们先将字典d转换为了一个元素为键值对的列表lst,然后按照每个键值对的第二个元素进行排序。这里用到了lambda表达式。

总结:

sorted()函数是Python中非常常用的一个函数,它能够对各种可迭代对象进行排序操作。在实际应用中,我们要根据实际需要来灵活地使用sorted()函数,才能发挥出其真正的用处。