reversed()函数返回给定序列的反向迭代器。
reversed()的语法为:
reversed(seq)
reversed()函数采用单个参数:
seq -要颠倒的顺序
序列是支持序列协议__len__()和__getitem__()方法的对象。例如,tuple,string,list,range等。
我们还可以在实现__reverse __()的任何对象中使用reversed()。
reversed()函数返回一个迭代器,该迭代器以相反的顺序访问给定的序列。
# 为字符串 seq_string = 'Python' print(list(reversed(seq_string))) # 为元组 seq_tuple = ('P', 'y', 't', 'h', 'o', 'n') print(list(reversed(seq_tuple))) # 为range seq_range = range(5, 9) print(list(reversed(seq_range))) # 为列表 seq_list = [1, 2, 4, 3, 5] print(list(reversed(seq_list)))
输出结果
['n', 'o', 'h', 't', 'y', 'P'] ['n', 'o', 'h', 't', 'y', 'P'] [8, 7, 6, 5] [5, 3, 4, 2, 1]
在我们的示例中,我们使用list()函数将reverse()返回的迭代器转换为list。
class Vowels: vowels = ['a', 'e', 'i', 'o', 'u'] def __reversed__(self): return reversed(self.vowels) v = Vowels() print(list(reversed(v)))
输出结果
['u', 'o', 'i', 'e', 'a']