文字列のリスト内のすべての可能な組み合わせに冗長性を避けたい(例えば、1122
は私の文脈で2211
と同じものなので、結果リスト)。冗長性を避けて文字列の組み合わせにフィルタを適用する方法
また、組み合わせ中にフィルタを適用したいと思います。たとえば、私は3
を含む文字列を結果に含めることは望ましくありません。
このロジックはどのように処理する必要がありますか?
このコードは
>>> keywords = [''.join(i) for i in itertools.product(['11', '22', '33'], repeat = 2)]
>>> keywords
['1111', '1122', '1133', '2211', '2222', '2233', '3311', '3322', '3333']
「2222」と「3333」もスキップする必要がありますか? – RomanPerekhrest
ソートされた文字列が新しいリストに存在しない場合は、各文字列をループしてソートして元の文字列を追加することがあります:https://stackoverflow.com/questions/15046242/how-to-sort-the-letters-in-a-string-アルファベット順に並んでいます。あなたが行きたいと思う正しい方向のように見えたら、より良い答えを書くことができます。 – sniperd
3を含む任意の文字列を削除する必要があります。 – Michael