您需要笛卡尔积 。

>>> arrays = [

... [[1, 2], [3, 4]],

... [[4, 5], [5, 6]],

... [[7, 8], [8, 9]],

... ]

>>> import itertools

>>> from pprint import pprint

>>> pprint(list(itertools.product(*arrays)))

[([1, 2], [4, 5], [7, 8]),

([1, 2], [4, 5], [8, 9]),

([1, 2], [5, 6], [7, 8]),

([1, 2], [5, 6], [8, 9]),

([3, 4], [4, 5], [7, 8]),

([3, 4], [4, 5], [8, 9]),

([3, 4], [5, 6], [7, 8]),

([3, 4], [5, 6], [8, 9])]

由于列表的存储方式有点模棱两可:

>>> x,y,z = arrays

>>> x

[[1, 2], [3, 4]]

>>> y

[[4, 5], [5, 6]]

>>> z

[[7, 8], [8, 9]]

>>> pprint(list(itertools.product(x,y,z)))

[([1, 2], [4, 5], [7, 8]),

([1, 2], [4, 5], [8, 9]),

([1, 2], [5, 6], [7, 8]),

([1, 2], [5, 6], [8, 9]),

([3, 4], [4, 5], [7, 8]),

([3, 4], [4, 5], [8, 9]),

([3, 4], [5, 6], [7, 8]),

([3, 4], [5, 6], [8, 9])]

>>>

当然, itertools.product等效于嵌套的for循环:

>>> for s1 in x:

... for s2 in y:

... for s3 in z:

... print(s1,s2,s3)

...

[1, 2] [4, 5] [7, 8]

[1, 2] [4, 5] [8, 9]

[1, 2] [5, 6] [7, 8]

[1, 2] [5, 6] [8, 9]

[3, 4] [4, 5] [7, 8]

[3, 4] [4, 5] [8, 9]

[3, 4] [5, 6] [7, 8]

[3, 4] [5, 6] [8, 9]

>>>

注意:

>>> for s in itertools.product(*arrays):

... print(*s)

...

[1, 2] [4, 5] [7, 8]

[1, 2] [4, 5] [8, 9]

[1, 2] [5, 6] [7, 8]

[1, 2] [5, 6] [8, 9]

[3, 4] [4, 5] [7, 8]

[3, 4] [4, 5] [8, 9]

[3, 4] [5, 6] [7, 8]

[3, 4] [5, 6] [8, 9]

python合并数组输出重复项_python - 不同数组项的所有可能组合[重复] - 堆栈内存溢出...相关推荐

  1. python小波分解与重构_python - 使用pyWavelets进行多级局部小波重构 - 堆栈内存溢出...

    我设法编写了自己的wrcoef函数版本,该版本似乎可以正常工作: import pywt import numpy as np def wrcoef(X, coef_type, coeffs, wav ...

  2. python的数组和元组区别_python中数组,列表,元组的区别、定义、功能

    准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组.列表比元组好用,因为元组一旦定义就没法修改.而列表不仅可以和数组一样按索引访问,还有一堆的功能. 列表: (1)添加 ...

  3. python计算数组元素的和_python中数组的运算

    Python中进行数组的运算需要调用NumPy包. 其官网是:http://www.numpy.org/​www.numpy.org NumPy是Python语言的一个扩充程序库.它支持高级大量的维度 ...

  4. c与python内存传递_python - 从Python向C ++传递COM指针数组 - 堆栈内存溢出

    我已经阅读了许多文档,示例和StackOverflow主题,但仍然无法正常工作! 我正在为我的C ++ COM对象编写一个Python接口. 这不是我第一次这样做. 过去,我已经成功地使用comtyp ...

  5. python数组索引和切片_python numpy数组的索引和切片的操作方法

    NumPy - 简介 NumPy 是一个 Python 包. 它代表 "Numeric Python". 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric, ...

  6. python右对齐输出乘法表_Python实现不同格式打印九九乘法表

    前言:最近在学习Python,学习资源有慕课网上的视频教程.菜鸟教程以及Python官方文档tutorial.虽然了解了Python的基本语法,但是还没有真正意义上输出自己写的代码.代码小白,之前仅学 ...

  7. Java筛选重复名字输出单一的,java - 输入:一个单词的字符串。 打印给定字符串的所有重排,而无需重复。 爪哇 - 堆栈内存溢出...

    这是我想到的最简单的方法 String str= "abc"; ArrayList letters = new ArrayList(); HashSet combinations ...

  8. c语言在数组输出字母,c语言字符数组与字符串的使用详解

    1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y' ...

  9. ajax遍历数组对象数组对象数组,javascript - 从ajax json请求中,如何将对象动态添加到数组中,以便我可以遍历它们? - 堆栈内存溢出...

    您做对了,但是没有在正确的地方进行. jQuery.ajax不会等待响应,但会在请求得到响应时调用"成功"回调. 尝试这个: var i, venues, allVenues=[] ...

  10. java http post数组参数_java - 适用于Java / Android的HTTP POST数组参数 - 堆栈内存溢出...

    在PHP中构建HTTP POST查询时,我可以使用一个名为http_build_query的简单方法,该方法将根据传递给函数的数组返回以下内容: 简单数组: Array ( [0] => foo ...

最新文章

  1. Ferris教程学习笔记:js示例2.13 简易JS年历
  2. SAP PM 入门系列16 - KO88对维护工单做结算
  3. linux下几种反弹Shell方法的总结与理解
  4. Android第二十五期 - 猜歌小游戏
  5. 牛顿插值多项式(python实现)
  6. 腐烂国度2巨霸版计算机学知识,《腐烂国度2巨霸版》新手攻略 新手入门玩法技巧大全...
  7. 怎样进行FineReader局域网中的分组工作
  8. js判断是微信、QQ内置浏览器打开页面
  9. Json model的工作原理 what has happened when you setModel to a view
  10. 友盟+联合EB级云数据 实现友盟域和企业私域数据全面融合
  11. 来瓶82年拉菲压压惊
  12. 关于笔记本使用的几点注意事项
  13. 服务器server操作系统吗,windows server 2008 R2 操作系统
  14. bzoj 3237: [Ahoi2013]连通图 并查集+线段树分治
  15. SpringBoot项目深度优化和Jvm调优
  16. 重装系统计算机无法启动,重装系统时重启电脑总是显示windows无法启动,原因可能是最近更改了硬件或软件...
  17. 微型计算机实验报告温度控制,温度控制实验报告.doc
  18. jQuery动画特效
  19. 关于开通付费专栏的一些想法
  20. 金税盘 USB无法识别的解决方法、金税盘插上电脑没反应、航天信息

热门文章

  1. 逸出 java_【java】知识系谱-基础篇-线程-发布、逸出
  2. endnote文献顺序编号不对_把Endnote装进大脑:行走的文献管理者
  3. java写入文件编码格式为ansi_Windows10 bat批处理删除 快速打开文件夹 固定到开始菜单或任务栏...
  4. 戏说 .NET GDI+系列学习教程(三、Graphics类的方法的总结)
  5. MS SQL JSON类型type
  6. java环境变量的配置和使用
  7. [python] 列表解析式的高效与简洁
  8. Android listview item中使用TextWatcher
  9. USB描述符【整理】
  10. __construct()和__initialize()