Python3通过列表构造函数构造Map对象时出错[重复]

e4eetjau  于 2023-01-08  发布在  Python
关注(0)|答案(2)|浏览(101)
    • 此问题在此处已有答案**:

Why can't I iterate twice over the same iterator? How can I "reset" the iterator or reuse the data?(5个答案)
四年前关闭了。
第一个月
IndexError:列表索引超出范围
为什么会出现此错误?

brccelvz

brccelvz1#

map到list的转换只进行一次,这意味着map是一个生成器对象,一旦你把它转换成list,它就会耗尽:python 3: generator for map。因此,错误来自第二个print语句,而不是第一个。

cuxqih21

cuxqih212#

在Python 3中,map()返回一个迭代器,而不是list,当你第一次把这个迭代器传递给list时,它会消耗这个迭代器,所以第二次你会得到一个空的list,这就是IndexError。

相关问题