笛卡尔积

 我来答
抛下思念17
2022-06-22 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6104
采纳率:99%
帮助的人:32.8万
展开全部
首先知道啥是笛卡尔积,百度百科中解释是这样的:

通俗理解就是一个集合中的所有元素与另外一个集合中的所有元素的所有组合。需要注意有先后顺序。

举个例子:
集合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:
当然不仅仅是两个集合,多个集合也同样可以。
比如字典的生成。

当然如果字典生成不需要有序的话,可以使用另外两个函数 permutations
和 combinations 。

两者的区别在于,如果几个集合的元素相同,但位置顺序不同,permutations记为不同集,而combinations记为同一集合,也就是permutations为有序集合combinations为无序集合。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式