python求笛卡尔积

  数学 离散数学 Python    浏览次数: 93
0

比如A=['a', 'b'], B=[1, 2, 3],笛卡尔积是[('a', 1), ('b', 1), ('a', 2), ('b', 2), ('a', 3), ('b', 3)] 

怎么用python求两个集合的笛卡尔积?

 

myodd   2018-11-25 12:28



   3个回答 
4

itertools是方便做循环的package

import itertools
result = list(itertools.product(*[A, B]))

得到的结果为

[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3)]


SofaSofa数据科学社区 DS面经 问答 实战

Jiho   2018-11-27 12:15

1


numpy.transpose([numpy.tile(x, len(y)), numpy.repeat(y, len(x))])


SofaSofa数据科学社区 DS面经 问答 实战

dizhouw2   2018-11-27 04:16

这个出来的结果好像int被转成了str类型了 - Jiho   2018-11-27 12:14
1

如果只是计算两个集合,可以直接用循环


[(x,y) for x in A for y in B]


如果多个集合计算笛卡尔积,itertools比较简明

SofaSofa数据科学社区 DS面经 问答 实战

feirie   2018-11-30 20:44



  相关主题

python中求两个集合的交集?   1回答

python中计算二项式系数?   2回答

如何通俗地解释中餐馆过程(Chinese restaurant process)?   1回答

python里怎么表示科学计数法?   1回答

利用python求解线性方程组   1回答

怎么在python中求array(矩阵)的特征向量、特征值?   2回答

线性空间和向量空间是一回事吗?   2回答

两个线性空间的并集一定是一个线性空间吗   1回答

半正定或者正定矩阵一定要是对称的吗?   1回答

矩阵的列空间什么意思?   1回答

实对称矩阵的特征向量是实向量吗?   1回答

矩阵的转置的逆就是矩阵的逆的转置吗?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!