您现在的位置是:课程教程文章
Python如何从列表中获取笛卡尔积
2023-12-13 23:46课程教程文章 人已围观
1、可以使用itertools.product在标准库中使用以获取笛卡尔积。
fromitertoolsimportproduct somelists=[ [1,2,3], ['a','b'], [4,5] ] result=list(product(*somelists)) print(result)
2、迭代方法。
defcartesian_iterative(pools): result=[[]] forpoolinpools: result=[x+[y]forxinresultforyinpool] returnresult
3、递归方法。
defcartesian_recursive(pools): iflen(pools)>2: pools[0]=product(pools[0],pools[1]) delpools[1] returncartesian_recursive(pools) else: pools[0]=product(pools[0],pools[1]) delpools[1] returnpools defproduct(x,y): return[xx+[yy]ifisinstance(xx,list)else[xx]+[yy]forxxinxforyyiny]
4、Lambda方法。
defcartesian_reduct(pools): returnreduce(lambdax,y:product(x,y),pools)
以上就是Python从列表中获取笛卡尔积的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
课程教程:Python如何从列表中获取笛卡尔积下一篇:没有了