Pythonはデカルトの積を求める方法を実現します

741 ワード

本論文では,Pythonがデカルト積を求める方法を実装する例を述べた.皆さんの参考にしてください.具体的には以下の通りです.
数学では、2つの集合XとYのデカン積(Cartesian product)は、直積とも呼ばれ、Xと表される.× Y、第1のオブジェクトはXのメンバーであり、第2のオブジェクトはYの可能なすべての整列ペアのメンバーである.集合A={a,b},集合B={0,1,2}とすると,両集合のデカルト積は{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}となる.pythonで2つのlistのデカルト積を求める必要がある場合がありますが、実は簡単で、1行のコードでできます.
例えば、a={1,2,3}とb={0,1,2}のデカルト積を求め、a={1,2,3}自身のデカルト積を求め、pythonコードは以下の通りである.
#-*-coding:utf-8-*-
import itertools;
a=[1,2,3];
b=[4,5,6];
print "a,b      :",
for x in itertools.product(a,b):
  print x,
print;
print "a        :",
for x in itertools.product(a,a):
  print x,


実行結果は次のとおりです.
注目すべきは、ここのitertoolsは自分で導入したツールではなく、pythonの標準ライブラリであり、直接導入すれば使用できます.
C言語のヘッダファイルのような理屈です.