📜  Python reversed()

📅  最后修改于: 2020-09-20 04:29:22             🧑  作者: Mango

reversed() 函数返回给定序列的反向迭代器。

reversed()的语法为:

reversed(seq)

reversed()参数

reversed() 函数采用一个参数:

  1. seq-要反转的序列

序列是支持序列协议的对象: __len__()__getitem__()方法。例如,元组, 字符串,列表,范围等。

我们还可以在实现__reverse__()任何对象中使用reversed() __reverse__()

从reversed()返回值

reversed() 函数返回一个迭代器,该迭代器以相反的顺序访问给定的序列。

示例1:在字符串,元组,列表和范围中使用reveresed()

# 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。

示例2:自定义对象中的reversed()

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']