Python reversed() 函数返回一个迭代器对象,它允许我们以相反的顺序访问指定的序列。这个函数常用在我们想要反向迭代序列的元素,而不修改原始序列的情况下。
请注意, reversed() 函数仅适用于支持索引的序列或集合,例如列表、元组和字符串。由于 sets 和 dictionaries 是无序的集合,因此此函数不支持它们。reversed() 是内置函数之一,您无需导入任何模块即可使用它。
语法
Python reversed() 函数的语法如下 -
reversed(seqObj)
参数
Python reversed() 函数接受单个参数 -
- seqObj − 它表示一个序列对象,例如列表、字符串或元组。
返回值
Python reversed() 函数返回一个迭代器对象。
reversed() 函数示例
练习以下示例来理解 Python 中 reversed() 函数的用法:
示例:使用 reversed() 函数
以下示例显示了 Python reversed() 函数在内置序列对象上的用法。在这里,我们将创建和反转一个列表。
numericList = [12, 14, 18, 20, 10, 5]
revIterator = reversed(numericList)
# Converting reverse iterator to list
revList = list(revIterator)
print("Displaying list in reverse order:")
print(revList)
当我们运行上述程序时,它会产生以下结果——
Displaying list in reverse order:
[5, 10, 20, 18, 14, 12]
[5, 10, 20, 18, 14, 12]
示例:使用 reversed() 反转字符串的字符
由于字符串也是一个 sequence 对象,因此 reversed() 可以应用于它。如果我们反转一个字符串,这个函数将以相反的顺序返回它的字符,如下面的 Python 代码所示。
orgnlStr = "qikepu"
print("Before Reversing:", orgnlStr)
reversedStr = ''.join(reversed(orgnlStr))
print("After Reversing:", reversedStr)
以下是上述代码的输出 -
Before Reversing: qikepu
After Reversing: tnioPslairotuT
After Reversing: tnioPslairotuT
示例:reversed() 函数,其中 Loop 迭代列表
下面的代码演示了如何将 reversed() 函数与 for 循环一起使用,以相反的顺序迭代和打印序列对象的项。
numericList = [12, 14, 18, 20, 10, 5]
print("Displaying list in reverse order:")
for revList in reversed(numericList):
print(revList)
上述代码的输出如下 -
Displaying list in reverse order:
5
10
20
18
14
12
5
10
20
18
14
12
示例:带有 Range 对象的 reversed() 函数
在下面的代码中,使用 range() 函数定义了一个 range 对象。然后我们借助 reversed() 函数将其反转。我们能够反转这个对象,因为它是一个不可变的序列类型。
rangeObject = range(11, 20, 2)
print("Displaying range object item in reverse order:")
for revList in reversed(rangeObject):
print(revList)
以下是上述代码的输出 -
Displaying range object item in reverse order:
19
17
15
13
11
19
17
15
13
11