Python實現求笛卡爾乘積的方法

2021-08-21 08:57:46 字數 658 閱讀 4159

在數學中,兩個集合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...