アイテムが繰り返されるときの順列の数を見つける方法は? たとえば、文字列aab
の場合、次の出力が必要です。aab
、aba
、baa
。Pythonで繰返しを使って順列を計算する方法
1
A
答えて
2
:
[email protected]:~$ python3.6 ./test.py
{('b', 'a', 'a'), ('a', 'b', 'a'), ('a', 'a', 'b')}
0
次は動作するはずです:
import itertools
set(itertools.permutations('aab'))
permutations
はすべての順列を生成しますが、それはそれはa1 a2 b
とa2 a1 b
を区別することはできませんので、それのいくつかは出力です繰り返されます。ここでa1
はa
の最初の出現であり、a2
は2番目の出現です。したがって、ユニークな要素を保持するだけで済みます。コンストラクタが入力iterableをユニークなコレクションに変換するので、set
はこれを行う良い方法です。あなたは、標準ライブラリitertoolsモジュールを使用することができます
関連する問題
- 1. 異なる値を使って計算を繰り返す方法
- 2. pythonを使用して別の列を基準にデータ列のパーセンタイル順位を計算する方法
- 3. awkを使って1日以上の繰り返しレコードの平均を計算する方法は?
- 4. Schemeの積分を繰り返して繰り返し計算する
- 5. 行と列の繰り返しを使ってPythonで行列を埋める方法
- 6. numpy内の5行のブロックを繰り返して計算を繰り返す
- 7. パワーピボット - メジャーから小計を計算し、列でそれを繰り返す
- 8. python numpyで合計計算を並列化する方法は?
- 9. Python 3.6 - 辞書を繰り返して結果のタプルを計算し、合計値を返す
- 10. スタックドライバを使って繰り返し通知する方法
- 11. 1D配列の繰り返し要素数の計算方法は?
- 12. 繰り返しなしで配列要素の周波数を計算する
- 13. を使って繰り返し実行するPythonプログラム
- 14. Pythonでスロープを計算する方法
- 15. Pythonでアクションを繰り返す方法
- 16. PySparkの繰り返し計算
- 17. AngularJSでng-repeatデータを使って計算する方法
- 18. フォルダと\文字を使ってPythonを繰り返します
- 19. 列SQL Serverを使用して計算する方法
- 20. Pythonでリストを使って降雨量を計算する
- 21. メモを使ってPythonで二項係数を計算する
- 22. python sqlite3でカーソルを使って平均を計算する
- 23. pythonでscipyを使ってjaccardの距離を計算する
- 24. Pythonを使った順列
- 25. Pythonの辞書で繰り返される時間の名前の数を計算する方法
- 26. 並列計算でPythonプログラムを高速化する方法は?
- 27. Pythonで文字列の長さを計算する方法
- 28. ラジオを使って角度4で合計を計算する方法
- 29. Pythonで文字列を繰り返す方法は?
- 30. 若干異なるモデルを繰り返し計算する
https://docs.python.org/2/:そのコードを実行することにより
を、私は次の出力を得ますライブラリ/ itertools.html#itertools.combinations_with_replacement、私だと思います –
これらの順列のリスト、それらの順列のジェネレータ、それらの順列のプリントアウト、または順列の数の計算だけをしますか?あなたの最初の文と二番目の文は、この時点でお互いに矛盾します。また、入力文字列は短くても長くてもかまいません - 効率は重要ですか、単純さを好むでしょうか?最後に、リスト、ジェネレータ、またはプリントアウトが必要な場合は、順列の順番が重要であり、各順列は文字列である必要がありますか?結果がサンプル出力と正確に一致する必要がありますか? –