ページへ戻る
− Links
印刷
Python/itertoolsでループを効率化
の編集 ::
NJF Wiki
xpwiki
:
Python
/
itertoolsでループを効率化
の編集
# b9e52150 の編集
ページ内容:
*全ての組み合わせを生成する「product」 [#b9e52150] itertoolsの中でも、特によく使うのはproductでしょう。これは日本語で「積」を表す名前の通り、ベクトルやテンソルの解析で言うところの直積にあたるもので、引数に与えられた配列などの全ての可能な組み合わせを返します。 for i in itertools.product("AB","DE"): print i 結果: ('A', 'D') ('A', 'E') ('B', 'D') ('B', 'E') つまり、以下のような通常のforの多重ループと同じです。 for i in "AB": for j in "DE": print i,j 単純なforの多重ループはたいていproductに置き換えることができます。そのため使う機会が多く、覚えておくとコードがかなりシンプルにできて便利です。 また、同じ配列を組み合わせる場合は、以下のようにrepeat変数を指定します。 for i in itertools.product("AB",repeat=3): print i 結果: ('A', 'A', 'A') ('A', 'A', 'B') ('A', 'B', 'A') ('A', 'B', 'B') ('B', 'A', 'A') ('B', 'A', 'B') ('B', 'B', 'A') ('B', 'B', 'B')
編集の要約:
Q & A 認証:
ページ更新時は次の質問にお答えください。(プレビュー時は必要ありません)
Q:
「東京」の読みがな?(ひらがなで)
A:
お名前:
タイムスタンプを変更しない
テキスト整形のルールを表示する
[1]
Links list
(This host) = https://njf.jp
(This host)
/cms/modules/xpwiki/?cmd=edit&help=true&page=Python%2Fitertools%E3%81%A7%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E5%8A%B9%E7%8E%87%E5%8C%96