如何解决第二次使用“反向”迭代器时的空列表 [] 的原因空 list解决方案
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。