僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
数式を見ても、説明を読んでも、何のことだかさっぱり。
Wikipedia で英名(Cartesian product) を確認し、python で
検索してみた。
該当する関数があるらしい。
日本語ドキュメントに感謝。ipython は(起動が少し重いが)便利だ。
In [1]: import itertools In [2]: foo, bar = [1,2,3] , [4,5,6] In [3]: for x in itertools.product(foo, bar): ...: print x ...: (1, 4) (1, 5) (1, 6) (2, 4) (2, 5) (2, 6) (3, 4) (3, 5) (3, 6) In [4]: itertools.product(foo, bar) Out[4]: <itertools.product at 0x1e54640>
repeat をつけてやると、 どえらいことになった。
In [5]: for x in itertools.product(foo, bar,repeat=2): ...: print x ...: (1, 4, 1, 4) (1, 4, 1, 5) (1, 4, 1, 6) (1, 4, 2, 4) (1, 4, 2, 5) ... ... (途中71行省略 ... (3, 6, 2, 5) (3, 6, 2, 6) (3, 6, 3, 4) (3, 6, 3, 5) (3, 6, 3, 6)
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。