问题描述
str1 = 'Hello'
str2 = reversed(str1)
print(list(str2))
print(list(str2))
输出:
['o','l','e','H']
[]
解决方法
reversed 是一个迭代器,迭代器只能被消耗一次,这意味着一旦你迭代它们,你就不能再做一次。
,
[]
的原因(空 list
)
内置的 reversed
是一个迭代器,因此一旦您消耗它,它就会耗尽,通过创建 list
。在你的情况下,一旦你做到了,list(revered("Hello"))
,它就会变得,精疲力竭。
解决方案
一个快速的解决方案可能是制作另一个迭代器,代码:
str1 = "Hello" # Original String
iter1 = reversed(str1) # Making the first iterator
iter2 = reversed(str1) # Making the second iterator
print(list(iter1),list(iter2)) # Printing the iterator once they are lists