【问题标题】:Getting every possible permutation in a format python以python格式获取所有可能的排列
【发布时间】:2017-03-30 01:23:50
【问题描述】:

我正在尝试编写一种方法来生成这种格式的所有可能组合:

01-01-01-A

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

第一个范围可以是 0-38,接下来的 2 个范围可以是 0-9,字母可以是 A-C。我目前不知道如何使用 itertools 使用这种格式生成所有可能的组合。

我目前的想法是有 1 个列表,里面有 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)

我不太确定如何编程。

【问题讨论】:

  • “组合”和“排列”的意思要准确,它们不是一回事,你想要哪一个并不明显。
  • 尝试使用itertools.product
  • @juanpa.arrivillaga 对不起,我正在寻找排列。我只是注意到我调查了每一个。

标签: python permutation itertools


【解决方案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'])
    )

【讨论】:

  • 非常感谢。这正是我所需要的! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
相关资源
最近更新 更多