我正在尝试在列表上使用 reversed
函数,但是返回值让我有些困惑。
s=[0,1,2,3]
print(reversed(s))
这将返回此行:
<list_reverseiterator object at 0x000001488B6559A0>
我知道reversed()
函数返回一个迭代器对象。有人可以更详细地解释一下“迭代器对象”吗?
我正在尝试在列表上使用 reversed
函数,但是返回值让我有些困惑。
s=[0,1,2,3]
print(reversed(s))
这将返回此行:
<list_reverseiterator object at 0x000001488B6559A0>
我知道reversed()
函数返回一个迭代器对象。有人可以更详细地解释一下“迭代器对象”吗?
迭代器对象实际上就是生成器。
根据文档说明:
生成器是迭代器,但你只能对它们进行一次迭代。因为它们不会将所有的值存储在内存中,而是根据需要即时生成这些值。你可以通过使用“for”循环或将它们传递给任何迭代函数或构造函数来迭代它们。大多数情况下,生成器被实现为函数。然而,它们不返回值,而是产出它们。
解决这个问题的方法是:
print(list(reversed(s)))
输出:
[3, 2, 1, 0]
您知道通过使用这个反转函数,您将会按照相反的顺序迭代列表。请执行此操作。
s=[0,1,2,3]
reversed_s = reversed(s)
for item in reversed_s:
print(item)