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

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函数,指定排序的方式。