0
私は機能を使用してリストcomprehentionのpop
要素にしようとしてきました。私の端末セッションは、次のようになります。不完全なリストがリスト内のポップアップ
をしかし、私は、問題が発生しなかった文字列と同じことをしようとしたとき:
誰かがで起こっている私に説明できます最初のシナリオ?なぜg.pop(0)
が返されたのは[1, 2]
ですか?
コピーのためのトランスクリプト(なぜスタックは、折りたたみ可能なセクションを持っていません):
>>> from itertools import takewhile
from itertools import takewhile
>>> g = [1,2,3,4,5]
>>> [a for a in takewhile(lambda x: x < 4, g)]
[1, 2, 3]
>>> [g.pop() for _ in takewhile(lambda x: x < 4, g)]
[5, 4, 3]
>>> g = [1,2,3,4,5]
>>> [g.pop(0) for _ in takewhile(lambda x: x < 4, g)]
[1, 2]
>>> g = ['1', '2', '3', '4', '5']
>>> [a for a in takewhile(lambda x: x != '4', g)]
['1', '2', '3']
>>> [g.pop() for _ in takewhile(lambda x: x != '4', g)]
['5', '4', '3']
>>> g = ['1', '2', '3', '4', '5']
>>> [g.pop(0) for _ in takewhile(lambda x: x != '4', g)]
['1', '2', '3']