リストがL=[1,2,3,3,4]
あり、長さ3のすべての順列を再帰的に検索したいとします。
私はすべての一意の順列を返そうとしています。つまり、に2つのが含まれているため、のようなものが[1,2,3]
2回出力に含まれていません。3
L
itertools.permutationsには重複が含まれているため、また、必要なときにいつでも反復を終了できるようにしたいので、順列を順番に反復しようとしています(最下位から[1,2,3]
最大まで反復)。[4,3,3]
きちんと説明していなくてごめんなさい。
編集:私はおそらくもう一度詳しく説明する必要があります。実際には、コードが最後まで実行された場合でも、可能なすべての順列を実際に生成したくはありません(多すぎる可能性があります)。必要に応じて早期に保釈できるように、特定の順序ですべての順列を反復処理しようとしています。