以格式python获取每个可能的排列

时间:2017-03-30 01:23:50

标签: python permutation itertools

我正在尝试编程以这种格式生成所有可能的组合:

01-01-01-A

现在我已经查看了itertools.permutations和组合库,并阅读了它们如何工作的示例。虽然我的问题与我读过的其他问题有所不同

第一个范围可以从0-38开始,接下来的两个范围可以从0到9,字母可以从A-C开始。我目前仍然坚持如何使用itertools使用这种格式生成所有可能的组合。

我目前正在考虑的是有一个列表,里面有4个列表,每个列表都有这些数字:

first_value = []
second_value = []
third_value = []
fourth_value = ["A", "B", "C"]
final_value = []
for num in range(0, 39):
    first_value.append(num)
for num in range(0, 10):
    second_value.append(num)
    third_value.append(num)
final_value.append(first_value)
final_value.append(second_value)
final_value.append(third_value)
final_value.append(fourth_value)
for value in itertools.permutations(final_value):
    print(value)

我不确定如何编程。

1 个答案:

答案 0 :(得分:1)

你想要itertools.product

import itertools

map(lambda t: "-".join(t), 
    itertools.product(
        map(str, range(0,39)), 
        map(str, range(0,10)), 
        map(str, range(0,10)), 
        ['A', 'B', 'C'])
    )