Python中sorted函数的使用及实例分析?
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()函数,才能发挥出其真正的用处。
