一連の数字を入力するプログラムを実行しており、そのうちの 6 つを使用して宝くじ番号のさまざまな組み合わせを作成しています。さまざまな組み合わせを作成するときに、重複を削除して、各組み合わせが一度だけ印刷されるようにします。これが私がしたいことです:
combo_list = [1 2 3 4 5 6 7]
出力は次のようになります。
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 4 5 6 7
1 3 4 5 6 7
2 3 4 5 6 7
私が使用しているコードは次のとおりです。
final = []
for sublist in combo_list:
if sublist not in final:
final.append(sublist)
for item in final:
item = (sorted(item, key=int))
print (' '.join(str(n) for n in item))
ただし、コードを使用すると、多くの重複を含む出力が得られます。
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 6
1 2 3 4 6 7
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 6
1 2 3 5 6 7
1 2 3 4 5 7
1 2 3 5 6 7
1 2 3 4 5 6
1 2 3 4 6 7
1 2 3 4 5 6
1 2 3 5 6 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 3 4 5 7
1 2 3 4 6 7
1 2 3 4 5 7
1 2 3 5 6 7
1 2 3 4 6 7
1 2 3 5 6 7
1 2 3 4 5 6
.
.
.
組み合わせごとに1回だけ印刷するために何を変更する必要があるかについてのアイデアはありますか?