本文實例講述了Python實現求笛卡爾乘積的方法。分享給大家供大家參考,具體如下:
在數學中,兩個集合X和Y的笛卡尓乘積(Cartesian product),又稱直積,表示為X × Y,第一個對象是X的成員而第二個對象是Y的所有可能有序對的其中一個成員。假設集合A={a,b},集合B={0,1,2},則兩個集合的笛卡爾積為{(a,0), (a,1), (a,2), (b,0), (b,1), (b, 2)}。有時我們需要在python求兩個list的笛卡爾乘積,其實很簡單,一行代碼搞定。
例如,求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語言的<math.h>頭文件一個道理。
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答