我有两个变量I,j,它们表示两个集合1和2的长度,比如len(one)=I和len(two)=j。现在,我想合并这两个集合,使得每个集合都有有序排列。我还需要在Python中索引每个新的集合。你知道吗
例如: 一个包含第一个大写字母i,两个包含小写字母
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)))
可以使用一个函数,将两个列表之一的第一项与列表其余部分的组合递归合并:
以便:
输出:
请注意,在Python中,集合是无序的,因此,如果输入是集合,则无法按照预期输出的建议保持
ABC
和ab
的顺序。这里给出的示例假设您的输入和输出是列表。你知道吗借用} 配方:
itertools
的^{印刷品:
相关问题 更多 >
编程相关推荐