reversed()函數(shù)返回給定序列的反向迭代器。
reversed()的語法為:
reversed(seq)
reversed()函數(shù)采用單個(gè)參數(shù):
seq -要顛倒的順序
序列是支持序列協(xié)議__len__()和__getitem__()方法的對(duì)象。例如,tuple,string,list,range等。
我們還可以在實(shí)現(xiàn)__reverse __()的任何對(duì)象中使用reversed()。
reversed()函數(shù)返回一個(gè)迭代器,該迭代器以相反的順序訪問給定的序列。
# 為字符串 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)))
輸出結(jié)果
['n', 'o', 'h', 't', 'y', 'P'] ['n', 'o', 'h', 't', 'y', 'P'] [8, 7, 6, 5] [5, 3, 4, 2, 1]
在我們的示例中,我們使用list()函數(shù)將reverse()返回的迭代器轉(zhuǎn)換為list。
class Vowels: vowels = ['a', 'e', 'i', 'o', 'u'] def __reversed__(self): return reversed(self.vowels) v = Vowels() print(list(reversed(v)))
輸出結(jié)果
['u', 'o', 'i', 'e', 'a']