itertoolschain.combinations_with_replacement()の使い方

itertools.combinations_with_replacement(p, r)は,シーケンス:p から r 個選んだ組み合わせをイタレーターとして出力します.最初のAと4番目のAは別物として,扱われます.以下の例では,(A, b, c, A)からひとつを選択し,次も(A, b, c, A)からひとつを選択します.

プログラム例

import itertools

for x in itertools.combinations_with_replacement('AbcA', 2):
    print('x:', x)

実行結果

x: ('A', 'A')
x: ('A', 'b')
x: ('A', 'c')
x: ('A', 'A')
x: ('b', 'b')
x: ('b', 'c')
x: ('b', 'A')
x: ('c', 'c')
x: ('c', 'A')
x: ('A', 'A')