数字の組み合わせの一覧が表示されますが、代わりに何も印刷されません。私は何が欠けていますか?印刷がジェネレータの式で動作しない
import itertools
def PrintIt(num):
print(num)
return True
nums = itertools.permutations(range(1, 10))
x = (num for num in nums if PrintIt(num)) # Prints nothing
print(list(x))
の場合、すべての異なる順列が期待どおりに出力されます。
'x'は反復処理されていないジェネレータです。あなたは 'list'を呼び出したときにそれを繰り返します。あなたの質問は何ですか?あなたはそれが 'x'に割り当てられた行に印刷することを期待しましたか? –