在數學中,兩個集合x和y的笛卡尓乘積(cartesian product),又稱直積,表示為x × y,第乙個物件是x的成員而第二個物件是y的所有可能有序對的其中乙個成員。假設集合a=,集合b=,則兩個集合的笛卡爾積為。有時我們需要在python求兩個list的笛卡爾乘積,其實很簡單,一行**搞定。
例如,求a=與b=的笛卡爾乘積,與a=自身的笛卡爾乘積,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語言的標頭檔案乙個道理。
Python實現求笛卡爾乘積的方法
在數學中,兩個集合x和y的笛卡尓乘積 cartesian product 又稱直積,表示為x y,第乙個物件是x的成員而第二個物件是y的所有可能有序對的其中乙個成員。假設集合a 集合b 則兩個集合的笛卡爾積為。有時我們需要在python求兩個list的笛卡爾乘積,其實很簡單,一行 搞定。例如,求a ...
笛卡爾乘積
笛卡爾 descartes 乘積又叫直積。假設集合a 集合b 則兩個集合的笛卡爾積為。可以擴充套件到多個集合的情況。類似的例子有,如果a表示某學校學生的集合,b表示該學校所有課程的集合,則a與b的笛卡爾積表示所有可能的選課情況。目錄名稱定義 序偶定義 笛卡爾積定義 推導過程 案例 序偶與笛卡爾積 定...
python中的笛卡爾乘積
在領扣刷題的過程中遇到需要使用笛卡爾積的解法,因為使用的是python3版本解決,所以在python版本中提供了乙個庫函式可以模擬笛卡爾乘積的元素組成過程 itertools.product,一般來說比較常使用的是在product方法中傳遞進a與b兩個可迭代的物件進行組合,官方提供的解釋如下 pro...