来自python的文档:https://docs.python.org/2/library/itertools.html#itertools.combinations
请参阅combination_with_replacement:"#combinations_with_replacement(' ABC',2) - > AA AB AC BB BC CC"
我希望使用相同的功能,以及生成" BA"," CA"和" CB"。
答案 0 :(得分:1)
itertools.product
绝对是您在这里寻找的方法。正如文档所述,它实际上是一个紧凑的循环; product(A,B)
相当于((x, y) for x in A for y in B)
product
会返回它可以的所有元素组合,特定于订单,因此product('ABC', 'DEF', 'GHI')
会为您提供ADG, ADH, ADI, AEG [...] CFI
。如果要包含重复,请设置可选的repeat
变量。 product(A, repeat=4)
相当于product(A,A,A,A)
。同样,product(A, B, repeat=3)
与product(A,B,A,B,A,B)
相同。
简而言之:要获得您正在寻找的结果,请致电itertools.product('ABC', repeat=2)
。这将按顺序为您提供元组AA, AB, AC, BA, BB, BC, CA, CB, CC
。