Python reversed() 函数



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]

示例:使用 reversed() 反转字符串的字符

由于字符串也是一个 sequence 对象,因此 reversed() 可以应用于它。如果我们反转一个字符串,这个函数将以相反的顺序返回它的字符,如下面的 Python 代码所示。


orgnlStr = "qikepu"
print("Before Reversing:", orgnlStr)
reversedStr = ''.join(reversed(orgnlStr))
print("After Reversing:", reversedStr)	

以下是上述代码的输出 -

Before Reversing: qikepu
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

示例:带有 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