很多语言都没有提供直接计算笛卡尔积的方法,需要自己写大段大段的代码计算笛卡尔积
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()
路漫漫其修远兮