Ad
3: 2017-05-18 (木) 15:55:03 njf ソース バックアップ No.3 を復元して編集 現: 2017-05-20 (土) 15:17:44 njf ソース 編集
Line 10: Line 10:
というような物です。 というような物です。
-3重ぐらいなら特に手で書いても問題ありませんが、それ以上だとネストが深くなって大変です。または何重かわかっていない場合などはそもそも手で書く事はできません。+3重ぐらいなら特に手で書いても問題ありませんが、それ以上だとネスト(階層)が深くなって管理が大変です。または何重かわかっていない場合などはそもそも手で書く事はできません。
他の手続き型言語ではそのような場合、再帰関数を使うのが一般的で、Pythonでも同様のことが出来ます。 他の手続き型言語ではそのような場合、再帰関数を使うのが一般的で、Pythonでも同様のことが出来ます。
Line 25: Line 25:
             print i,              print i,
         print          print
 + 
 loopFunction(2, 3)  loopFunction(2, 3)
Line 34: Line 34:
 import itertools  import itertools
 + 
 for e in itertools.product(range(2),repeat=3):  for e in itertools.product(range(2),repeat=3):
     for i in e:      for i in e:
Line 48: Line 48:
*全ての組み合わせを生成する「product」 [#b9e52150] *全ての組み合わせを生成する「product」 [#b9e52150]
-itertoolsの中でも、特によく使うのはproductでしょう。これはベクトルやテンソルの解析で言うところの直積にあたるもので、引数に与えられた配列などの全ての可能な組み合わせを返します。+itertoolsの中でも、特によく使うのはproductでしょう。これは日本語で「積」を表す名前の通り、ベクトルやテンソルの解析で言うところの直積にあたるもので、引数に与えられた配列などの全ての可能な組み合わせを返します。
 for i in itertools.product("AB","DE"):  for i in itertools.product("AB","DE"):


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 3236, today: 1, yesterday: 1
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF