Python实现求笛卡尔乘积的方法

yipeiwu_com6年前Python基础

本文实例讲述了Python实现求笛卡尔乘积的方法。分享给大家供大家参考,具体如下:

在数学中,两个集合X和Y的笛卡尓乘积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0), (a,1), (a,2), (b,0), (b,1), (b, 2)}。有时我们需要在python求两个list的笛卡尔乘积,其实很简单,一行代码搞定。

例如,求a={1,2,3}与b={0,1,2}的笛卡尔乘积,与a={1,2,3}自身的笛卡尔乘积,python代码如下:

#-*-coding:utf-8-*-
import itertools;
a=[1,2,3];
b=[4,5,6];
print "a,b的笛卡尔乘积:",
for x in itertools.product(a,b):
  print x,
print;
print "a自身的笛卡尔乘积:",
for x in itertools.product(a,a):
  print x,

运行结果如下:

值得注意的是,这里的itertools并不是什么我自己引入的工具,是一个python的标准库,直接引入就可以使用了。

就像C语言的<math.h>头文件一个道理。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

利用pandas将非数值数据转换成数值的方式

利用pandas将非数值数据转换成数值的方式

handle non numerical data 举个例子,将性别属性男女转换成0-1,精通ML的小老弟们可以略过本文~~, 这里不考虑稀疏向量的使用,仅提供一些思路。本来想直接利用p...

Python使用POP3和SMTP协议收发邮件的示例代码

Python使用POP3和SMTP协议收发邮件的示例代码

先来了解一下收/发邮件有哪些协议: SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议。相当于中转站,将邮件发送到客户端。 POP...

用smtplib和email封装python发送邮件模块类分享

复制代码 代码如下:#!/usr/bin/python# encoding=utf-8# Filename: send_email.pyfrom email.mime.image imp...

Python字符串处理之count()方法的使用

 count()方法返回出现在范围内串子数range [start, end]。可选参数的start和end都解释为片符号。 语法 以下是count()方法的语法: str...

python实现大学人员管理系统

python作为一个面对对象的程序设计语言,实现一个人员管理系统有自己关于类的方法。 首先,通过定义一个人员的类对象,实现对于人员公共特性的支持,公共的特性包括:姓名,性别,出生日期等,...