说明
《Python 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
Python 内置函数 reversed() 会返回给定序列的反向迭代器,如果需要查看返回的这个迭代器的内容,需要迭代输出或者转换为列表、元组等数据类型。
以下是一些使用示例:
reversed('abc')
# <reversed at 0x7fb8dae187f0>
list(reversed('abc'))
# ['c', 'b', 'a']
[*reversed(range(3))]
# [2, 1, 0]
[*reversed([1, 2])]
# [2, 1]
d = {'a': 1, 'b': 2}
[*reversed(d)]
# ['b', 'a']
[*reversed(d.items())]
# [('b', 2), ('a', 1)]
在我们的示例中,我们使用 list() 函数或者解包的方法将 reversed() 返回的迭代器转换为列表。
它的语法是 reversed(seq)
,只接受一个参数 seq,seq 是要颠倒的序列(sequence)。seq 可以是:
__reversed__()
方法的对象__len__()
方法和 __getitem__()
方法)。我们也可以对任意实现了 __reverse__()
特殊方法的对应使用 reversed()。
以下列例子中,我们实现了一个将元音字符对象反转的特殊方法。
class Vowels:
vowels = ['a', 'e', 'i', 'o', 'u']
def __reversed__(self):
return reversed(self.vowels)
v = Vowels()
list(reversed(v))
# ['u', 'o', 'i', 'e', 'a']
更新时间:March 21, 2022, 2:34 p.m. 标签:python 反转 序列