作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个元组列表,例如:
A=[(1,2,3), (3,5,7,9), (7)]
并希望用每个元组中的一项生成所有排列。
1,3,7
1,5,7
1,7,7
...
3,9,7
我可以有任意数量的元组,一个元组可以有任意数量的元素。而且我不能使用 itertools.product()
因为 python 2.5。
最佳答案
itertools.product
的文档有一个如何在 py2.5 中实现它的例子:
def product(*args, **kwds):
# product('ABCD', 'xy') --> Ax Ay Bx By Cx Cy Dx Dy
# product(range(2), repeat=3) --> 000 001 010 011 100 101 110 111
pools = map(tuple, args) * kwds.get('repeat', 1)
result = [[]]
for pool in pools:
result = [x+[y] for x in result for y in pool]
for prod in result:
yield tuple(prod)
关于python - 如何在 python 2.5 中编写类似于 itertools.product 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681269/
我是一名优秀的程序员,十分优秀!