所有可能的元组

时间:2014-06-19 07:40:13

标签: python itertools

possible_frequency = [0,1,2,3,4,5,6,7,8]
clamp_range = list(xrange(0, 51, 1))
possible_clamp_levels = int(len(clamp_range)*len(possible_frequency))
print possible_clamp_levels

我想找到一种方法来使用possible_frequencyclamp_range打印所有可能的元组(459)  也就是(0,0),(0,1), (0,2).....(8, 50)

python中是否有一个允许我这样做的包。

这样做

possible_tuples = []

for a in range(0, len(possible_frequency)):
    for b in range(0, len(clamp_range)):
        test = (possible_frequency[a], clamp_range[b])
        possible_tuples.append(test)
print possible_tuples

我需要一种更复杂的方式。

2 个答案:

答案 0 :(得分:3)

您可以使用itertools.product()

from itertools import product

list(product(possible_frequency, clamp_range))

答案 1 :(得分:0)

import itertools
for set in itertools.product(possible_frequency,xrange(0, 51, 1)):
    print set

产品用于计算输入迭代的笛卡尔乘积。itertools Product