我有两个变量 i 和 j,它们分别表示两个集合 one 和 two 的长度,例如 len(one)=i 和 len(two)=j。现在,我想将这两个集合合并,并按顺序列出每个集合的排列组合。我还需要在 Python 中为每个新集合编制索引。
例如: one 包含前 i 个大写字母,two 包含小写字母。
我尝试了以下代码,但它没有起作用。如果有人能帮忙,我会很感激。
例如: one 包含前 i 个大写字母,two 包含小写字母。
len(one) = i
len(two) = j
expected outputs = {'abABC...', 'aAbBC...', 'aABcC...', 'aABCb...',...}
我尝试了以下代码,但它没有起作用。如果有人能帮忙,我会很感激。
from functools import reduce
from itertools import combinations
def assign(v, p):
v[p[0]] = p[1]
return v
def interp(word1, word2, size):
return (''.join(reduce(assign, zip(comb1, word1), zip(comb2, word2)))
for comb1, comb2 in zip(combinations(range(size), len(word1)),
combinations(range(size), len(word2))))
print('\n'.join(interp("ABC", "ab", 5)))
reduce(assign)
- juanpa.arrivillagaABC
和ab
的顺序。将输入更改为列表,然后您将拥有一个有效的问题。 - blhsing