python - 第二次使用“反向”迭代器时的空列表
问题描述
为什么第二个打印命令给出一个空列表,而第一个给出正确的输出?
str1 = 'Hello'
str2 = reversed(str1)
print(list(str2))
print(list(str2))
输出:
['o', 'l', 'l', 'e', 'H']
[]
解决方案
reversed是一个迭代器,迭代器只能被使用一次,这意味着一旦你迭代它们,你就不能再做一次了。
推荐阅读
- c# - 记录登录日期/时间
- docker - Gitlab CI Runner:致命:找不到命令 sh
- html - Move the line down
- puppeteer - Puppeteer can't catch failing request & errors
- kubernetes - kubectl x509: certificate signed by unknown authority
- c# - 如何在 ASP.NET Core 2 MVC 中使用依赖注入设置单元可测试模型验证?
- javascript - 如何将边距值存储在变量中?
- c# - 如何使用 OpenXml.Wordprocessing 和 C# 在 MS Word 中创建自定义样式链接(段落和字符)
- flask - 烧瓶管理员:extra_js 和 url_for
- python - Pyqt5 中的 QThreads:这是官方 QThread 文档的正确 C++ 到 Python 的翻译吗?