- 此问题在此处已有答案**:
Why can't I iterate twice over the same iterator? How can I "reset" the iterator or reuse the data?(5个答案)
四年前关闭了。
第一个月
IndexError:列表索引超出范围
为什么会出现此错误?
Why can't I iterate twice over the same iterator? How can I "reset" the iterator or reuse the data?(5个答案)
四年前关闭了。
第一个月
IndexError:列表索引超出范围
为什么会出现此错误?
2条答案
按热度按时间brccelvz1#
map到list的转换只进行一次,这意味着map是一个生成器对象,一旦你把它转换成list,它就会耗尽:python 3: generator for map。因此,错误来自第二个print语句,而不是第一个。
cuxqih212#
在Python 3中,
map()
返回一个迭代器,而不是list
,当你第一次把这个迭代器传递给list
时,它会消耗这个迭代器,所以第二次你会得到一个空的list
,这就是IndexError。