返回信息流请教各位大神,Google了一下午依然无果。。。
数据:n个列表,每个列表有m个元素
目的:从每个列表中取出一个元素,构成一个长度为n的新列表,求所有可能性,如何用Python高效实现。。。
eg test1 = [1,2,3] test2 = [4,5,6] test3 = [7,8,9]
新的列表包括:[1,4,7],[1,4,8],[1,4,9],[2,4,7].....(共3^3=27种)
可是我现在有大概几十个列表,是否有相应的库帮助实现?
谢谢各位老板!
这是一条镜像帖。来源:北邮人论坛 / python / #21149同步于 2018/3/14
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【问题】python列出多个列表元素构成组合的方法
ZzZ2251
2018/3/14镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
谢谢谢谢! 应该仔细看看官方文档的,原来product是可以接收多个可迭代对象的。。。
【 在 intmain 的大作中提到: 】
: itertools.product,就是笛卡尔积喽
[ema11]
【 在 fuxuemingzhu 的大作中提到: 】
: 楼上正解啊~itertools和collections两个库很实用,楼主了解一下。
感谢楼上各位的回复~ 刚用jupyter实现了一下,因为可能的对象有许多,所以用到了*result. 供其他同学参考~ 如果有不对的地方希望指正~
import itertools
a = (1, 2, 3, 4)
b = ('A', 'B', 'C')
c = (12,23,34)
result = []
result.append(a)
result.append(b)
result.append(c)
x = itertools.product(*result)
for i in x:
print(i,end=' ')