Python reversed()

内置函数reversed()接受一个序列作为它的输入,并返回一个迭代器,迭代器应该与给定序列的顺序相反。我们也可以在任何实现reversed()的对象中使用reversed()

 **reversed(seq)** #where seq can be tuple,string,list,range, etc. 

反转()参数:

接受单个参数。如果我们传递的对象不像 dict 和 set 那样保持它们的顺序,那么就会导致类型错误。

参数 描述 必需/可选
顺序 要反转的顺序 需要

反转的()返回值

如果我们想得到用户定义对象的反例,该类必须执行以下任一操作:

实现__len__()__len__()方法 或实现__reversed__()方法

| 投入 | 返回值 | | 序列(列表、字符串等) | 反向序列 |

Python 中反向()方法的示例

示例 1:在字符串、元组、列表和范围中使用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]

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

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

你可能感兴趣的