📅  最后修改于: 2020-09-20 04:29:22             🧑  作者: Mango
reversed()
的语法为:
reversed(seq)
reversed()
函数采用一个参数:
序列是支持序列协议的对象: __len__()
和__getitem__()
方法。例如,元组, 字符串,列表,范围等。
我们还可以在实现__reverse__()
任何对象中使用reversed()
__reverse__()
。
reversed()
函数返回一个迭代器,该迭代器以相反的顺序访问给定的序列。
# for string
seq_string = 'Python'
print(list(reversed(seq_string)))
# for tuple
seq_tuple = ('P', 'y', 't', 'h', 'o', 'n')
print(list(reversed(seq_tuple)))
# for range
seq_range = range(5, 9)
print(list(reversed(seq_range)))
# for list
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()
函数将由reversed()
返回的迭代器转换为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']