我發現約在Python迭代器的行爲這個問題:QtConsole爲什麼沒有echo next()?
Python list iterator behavior and next(iterator)
當我鍵入的代碼:
a = iter(list(range(10)))
for i in a:
print a
next(a)
到jupyter-qtconsole
它返回:
0
2
4
6
8
完全一樣Martijn Pieters表示,當口譯員不迴應的呼叫時應該這樣做。
然而,當我在我的Bash解釋和IDLE再次運行相同的代碼,該代碼印刷:
0
1
2
3
4
5
6
7
8
9
到控制檯。
我跑代碼:
import platform
platform.python_implementation()
在所有三個環境,他們都稱我跑'CPython'
。
那麼爲什麼QtConsole會在IDLE和Bash不行時抑制next(a)
調用?
如果有幫助,我在Mac OSX上運行Python 2.7.9並使用Anaconda發行版。