这是一个相当特殊的要求。我不是抽象地解释这个概念,而是举例说明我想做的事情。
我有一个'模板'列表或字符串:[ X,G,X] ......或' XGX'
许多'排列'列表: [U,U],[U,C],[C,U],[C,C] ......或' UU',' UC',' CU& #39;,' CC'
我想获得以下列表: [UGU,CGU,UGC,CGC]
有人对如何解决这个问题有任何想法吗?
谢谢!
答案 0 :(得分:0)
def resolveTemplates(_template, perms):
for perm in perms:
template = list(_template)
perm = iter(perm)
for i,char in enumerate(template):
if char != "X": continue
template[i] = next(perm)
yield template
输出:
In [113]: print(*resolveTemplates('XGX', ['UU', 'UC', 'CU', 'CC']), sep='\n')
['U', 'G', 'U']
['U', 'G', 'C']
['C', 'G', 'U']
['C', 'G', 'C']