Python中的sorted和reversed函数的用法
发布时间:2023-06-14 07:01:12
在Python中,sorted()和reversed()是两个被广泛使用的函数,用于对列表、元组、字典等进行排序和反转。本文将介绍这两个函数的用法。
1. sorted()函数
sorted()函数可以对列表、元组和字典进行排序,返回一个新的已排序的列表。
1.1 对列表排序
对列表进行从小到大排序:
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_lst = sorted(lst) print(sorted_lst)
输出:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
对列表进行从大到小排序:
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] sorted_lst = sorted(lst, reverse=True) print(sorted_lst)
输出:
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
1.2 对元组排序
对元组进行从小到大排序:
tup = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5) sorted_tup = sorted(tup) print(sorted_tup)
输出:
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
对元组进行从大到小排序:
tup = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5) sorted_tup = sorted(tup, reverse=True) print(sorted_tup)
输出:
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
1.3 对字典排序
对字典按key进行排序:
d = {'b': 2, 'a': 1, 'c': 3}
sorted_d = sorted(d.items())
print(sorted_d)
输出:
[('a', 1), ('b', 2), ('c', 3)]
对字典按value进行排序:
d = {'b': 2, 'a': 1, 'c': 3}
sorted_d = sorted(d.items(), key=lambda x: x[1])
print(sorted_d)
输出:
[('a', 1), ('b', 2), ('c', 3)]
2. reversed()函数
reversed()函数用于反转列表、元组等序列类型,返回一个迭代器对象,需要使用list()函数将其转换成列表。
2.1 反转列表
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] reversed_lst = reversed(lst) print(list(reversed_lst))
输出:
[5, 3, 5, 6, 2, 9, 5, 1, 4, 1, 3]
2.2 反转元组
tup = (3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5) reversed_tup = reversed(tup) print(tuple(reversed_tup))
输出:
(5, 3, 5, 6, 2, 9, 5, 1, 4, 1, 3)
2.3 反转字符串
s = 'hello'
reversed_s = reversed(s)
print(''.join(reversed_s))
输出:
olleh
总结
sorted()函数和reversed()函数是两个非常常用的Python内置函数,可以对列表、元组、字典等序列类型进行排序和反转操作。需要注意的是,sorted()函数返回的是已排序的新列表,而reversed()函数返回的则是迭代器对象,需要使用list()函数将其转换成列表。同时,还需要注意传给sorted()函数的参数key,可以接受一个lambda函数,指定排序的方式。
