很多語言都沒有提供直接計算笛卡爾積的方法,需要自己寫大段大段的代碼計算笛卡爾積
python 提供了一種最簡單的計算笛卡稱積的方法:itertools
以下是代碼:
#!/usr/bin/python3 # -*- coding: utf-8 -*-
# @desc : 用python實現求笛卡爾積
import itertools
class cartesian(object): def __init__(self): self._data_list=[]
def add_data(self,data=[]): #添加生成笛卡爾積的數據列表 self._data_list.append(data)
def build(self): #計算笛卡爾積 for item in itertools.product(*self._data_list): print(item)
if __name__=="__main__": car=cartesian() car.add_data([1,2,3,4]) car.add_data([5,6,7,8]) car.add_data([9,10,11,12]) car.build()