作为免责声明,我对编程比较陌生,所以请原谅我在写这个问题时所做的任何简单疏忽。
我正在使用 Python 2.7.3,在这样做的过程中,我注意到一些对我来说似乎不寻常的东西,并且无法通过 Google 搜索或 Python 文档找到令人满意的解释。我可以创建一个列表并使用 zip() 创建一个元组列表,如下所示:
numList = range(4)
print zip(numList, numList)
[(0, 0), (1, 1), (2, 2), (3, 3)]
但是,当我在 numList 上使用 iter() 函数创建一个可迭代对象并在该对象上以类似方式使用 zip() 时,我得到了截然不同的结果:
numList = range(4)
numList = iter(numList)
print zip(numList, numList)
[(0, 1), (2, 3)]
如果有人能解释这两个程序之间的区别以及导致这种情况发生的幕后情况,我将不胜感激。