以下のpythonスニペットを実行すると何が起こっているのか誰か説明できますか?
import itertools
def prob():
testlists = itertools.combinations([1,2,3,4,5,6,7,8,9,0],4)
for itervalue in range(5,50):
for tlist in testlists:
print itervalue
私の予想される動作は、5 から 50 までの itervalue のすべての値が複数回 (テストリストのリストごとに 1 回) 画面に出力されることです。たとえば、テストリストを次のように定義すると、このようになります。
testlists = [[1,2,3],[5,2,1],[3,2,9]]
実際には、最初の itervalue のみが出力に出力されます (5 は何百回も出力されます)。元:
5
5
5
#and so on
ここで正確に何が起こっているのですか?私はPythonと動的言語全般に不慣れです。助けてくれてありがとう。
Python 2.6.6 および 2.7.3 を実行しているコンピューターでこれをテストしました。