オンラインで次の問題の正確な答えが見つかりませんでした。 文字セットがk
で、長さがn
の文字列内で可能な組み合わせをすべて作成したい場合は、各文字が文字列に少なくとも1回表示されます。これは'abc' == 'cba'
となります。 私はこれらの文字列を得るコードを必要とします('abc' == 'cba'
のような重複はありません)。私はいくつかのネストされたループと再帰的なコードブロックを試しましたが、どちらもそれが私のために働いていました。 (Pythonは答えは素晴らしいことだ、この言語であることができれば私の主な言語は何である)文字セットkとlemgth nの文字列をすべて作成
例:
>>> def gen(s, count):
... for comb in itertools.combinations_with_replacement(s, count):
... if len(set(comb)) == len(s):
... yield ''.join(comb)
...
>>> [s for s in gen('abc', 5)]
['aaabc', 'aabbc', 'aabcc', 'abbbc', 'abbcc', 'abccc']
:
In:
chars = ['a', 'b', 'c']
length = 5
Out:
'abccc', 'abbcc', 'abbbc', 'aabcc', 'aabbc', 'aaabc'
と
マージ変わらない部分、ここであなたの試みを投稿してください。スタックオーバーフローは、人々がコードを書く場所ではありません。 –
私が自分の問題を解決する方法を理解すれば、自分自身でコードを書くことができると思います。それでもあなたの返事をありがとう、私は次回にコードを追加します! –