这里是一个纯粹的numpy实现。它比使用迭代工具快约5×10。import numpy as npdef cartesian(arrays, out=None):

"""

Generate a cartesian product of input arrays.

Parameters

----------

arrays : list of array-like

1-D arrays to form the cartesian product of.

out : ndarray

Array to place the cartesian product in.

Returns

-------

out : ndarray

2-D array of shape (M, len(arrays)) containing cartesian products

formed of input arrays.

Examples

--------

>>> cartesian(([1, 2, 3], [4, 5], [6, 7]))

array([[1, 4, 6],

[1, 4, 7],

[1, 5, 6],

[1, 5, 7],

[2, 4, 6],

[2, 4, 7],

[2, 5, 6],

[2, 5, 7],

[3, 4, 6],

[3, 4, 7],

[3, 5, 6],

[3, 5, 7]])

"""

arrays = [np.asarray(x) for x in arrays]

dtype = arrays[0].dtype

n = np.prod([x.size for x in arrays])

if out is None:

out = np.zeros([n, len(arrays)], dtype=dtype)

m = n / arrays[0].size

out[:,0] = np.repeat(arrays[0], m)

if arrays[1:]:

cartesian(arrays[1:], out=out[0:m,1:])

for j in xrange(1, arrays[0].size):

out[j*m:(j+1)*m,1:] = out[0:m,1:]

return out

python求数组的所有组合_使用numpy构建两个数组的所有组合的数组相关推荐

  1. python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  2. python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  3. python求一组数的最大值_用python实现在一组数据中,寻找到最大数和最小数并输出最大数和最小数所在的位置...

    题目 定义一个实数数组,数组的元素个数不低于十个,且存在重复的最大值和最小值. (1).编写python程序用for循环或while循环找出这些数中的最大数和最小数: (2).找出最大数和最小数的在改 ...

  4. python求一个数的阶乘_阶乘计算python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 问题本身很简单,主要是通过这个小问题来演示python的一些用法,例如测试代码运 ...

  5. python求三个整数最大值_怎么用python比较三个数大小

    大部分初学编程的人来说刚开始都会练习判断两个数或者三个数的大小,来熟悉某种语言的特性和最基本的if,else循环,当我们学习了更高级的语法知识后,又会有不同的实现方式,比如依次接收用户输入的3个数,排 ...

  6. python 求list最小值的索引_【挑战自学Python编程】第六天:前五天都学了啥?

    摘要 01 基本概念复习 02 函数,方法,语句,单词复习 03 注释 04 后两周学习计划 01基本概念复习 标准数据类型 五种标准数据类型: 数字(Numbers) 字符串(String) 列表( ...

  7. python求一元三次方程的根_【九年级 】知识点8 一元二次方程根的判别式的应用...

    知识点8 一元二次方程根的判别式的应用 [题目预览] [视频讲解] [分析点评] 此题考查一元二次方程根的判别式与一元二次方程根的情况,当判别式的值大于0时,方程有两个不相等的实数根,当判别式的值等于 ...

  8. python求矩阵特征值和特征向量_特征值,特征向量,标准正交向量组与numpy

    使用python的数值计算库numpy来计算矩阵的特征值,特征向量与标准正交向量组 import numpy as np 1.求矩阵 的特征值和各特征值所对应的特征向量 x = np.array([[ ...

  9. python求一元二次方程的解法_函数练习_《从零开始学 python》(第二版)

    已经学习了函数的基本知识,现在练习练习.完成下面练习的原则: 请读者先根据自己的设想写下代码,然后运行调试,检查得到的结果是否正确 我也给出参考代码,但是,参考代码并不是最终结果 读者可以在上述基础上 ...

最新文章

  1. python在会计工作中的应用-python有什么用(会计专业)
  2. IOS审核的各个状态的时间
  3. JavaScript实现jumpSearch跳转搜索算法(附完整源码)
  4. DI是实现面向切面和面向抽象的前提
  5. mysql里面有没有map类型_MySQL学习(二) 数据类型
  6. 【AD用户设置系列一】让IT省心省力的漫游配置文件
  7. Javascript提升阶段学习
  8. java环境变量配置不成功,已经解决
  9. NCM格式如何转换为Mp3-音乐格式ncm转换mp3工具
  10. facade 门面模式和mediator 调停者
  11. 浅谈——业务逻辑漏洞
  12. 180度舵机使用经验
  13. 小白学习老九君C++笔记(10) 使用类创建对象
  14. js 选择本地图片并显示
  15. https://blog.csdn.net/codezjx/article/details/8872090
  16. python输出时间代码_Python获取世界多地时间怎么写代码呢?
  17. Keil MDK “Ivalid Rom Table”,“Device could not be powered up”的解决办法
  18. 鸿蒙系统发红包,混沌鸿蒙录红包版
  19. Modbus通讯协议从一窍不通到原来如此
  20. java设计界面_用Java语言设计一个界面,

热门文章

  1. android虚拟机的使用教程,Android 虚拟机可以这么用了 ?
  2. ModuleNotFoundError: No module named ‘sklearn‘ 解决办法
  3. 移植gettimeofday
  4. linux查看标准错误码工具
  5. Ubuntu18.04安装BeyondCompare
  6. 单链表头插法和尾插法
  7. Android AP模式下获取SSID/PASSWORD(反射机制
  8. android c++标准命名空间demo
  9. springboot项目打成可依赖jar包_用IDEA把SpringBoot项目打成jar发布项目
  10. 处理ajax表单验证结果,使用 jQuery Form 插件完成带数据验证的 Ajax 表单