python - Python3通过列表构造函数构造地图对象时出错
问题描述
list_of_input = map(float,[1,2,3])
print(list(list_of_input)[0])
print(list(list_of_input)[0])
IndexError:列表索引超出范围
为什么会出现这个错误?
解决方案
map 到 list 的转换只进行一次,这意味着 map 是一个生成器对象,一旦你将它转换为 list,它就会被耗尽:python 3: generator for map。所以错误来自第二个打印语句,而不是第一个。
推荐阅读
- java - 片段内的上下文和活动有什么区别?
- c++ - OpenGL - 添加第二个着色器属性会导致空白屏幕
- visual-studio - 有没有办法在 Microsoft Visual Studio 2019 中获取 Github 选项卡
- c++ - 错误 - 自定义数据类型作为带有 boost::geometry 的有效负载
- android - 在片段内观察到 LiveData 始终为空
- java - 如何在没有 web.xml 的情况下将 App Engine 项目更新到 Java 11?
- bootstrap-4 - for循环中的引导模式
- multithreading - 如何根据来自对象的事件在 Powershell 中写入进度?
- google-sheets - 如何为某个 SKU 转置或 TEXTJOIN 图像的每个“组”?
- watch - Tizen studio 添加真机