通俗的理解就是壹個集合中的所有元素和另壹個集合中的所有元素的所有組合。需要註意順序。
例如:
設A={a,b},B={0,1,2},則
A×B={(a,0),(a,1),(a,2),(B,0),(B,1),(B,2)}
B×A={(0,A),(0,b),(1,A),(1,b),(2,A),(2,b)}
另壹個例子是:
A組全是聲母,B組全是韻母。那麽集合a和集合b的笛卡爾積都是拼音組合。
Python默認叠代器庫itertools提供了笛卡爾積計算函數product。
用法:
示例1:
計算姓“張、李”和名“壹、二、三”的所有搭配組合。
示例2:
當然,不僅僅是兩套,還有多套。
比如字典的生成。
當然,如果字典生成不需要有序,可以使用另外兩個函數排列。
和組合。
兩者的區別在於,如果幾個集合的元素相同,但位置順序不同,權限記錄為不同的集合,而組合記錄為同壹集合,即權限是有序集合,組合是無序集合。