2016-11-07 83 views

回答

0

因为首先,你要创建一个新目的。其次,一个迭代器对象并不具有它在内存中的所有项目,它会根据需要生成项目,并且一旦你完成了就没有办法回来了。这就是为什么他们称之为一次迭代。因此,当您在迭代器上调用list时,您将通过使用迭代器并将其项保存在列表中来创建新的列表对象。

为了更好地展示它类似以下:

In [8]: l = iter([1, 2, 3]) 

In [9]: x = [item for item in l] 

In [10]: x 
Out[10]: [1, 2, 3] 
+0

*** Thanx!*** @Kasramvd – anati