在python中从字典创建给定字符值的字符串的所有组合

在python中从字典创建给定字符值的字符串的所有组合,python,list,dictionary,combinations,Python,List,Dictionary,Combinations,根据上面的列表和字典,我想得到lst中字符串的组合: var = {'A': 'A', 'W': 'AT', 'K': 'GT'} lst = ['AWK'] 这些组合来自lst中的字符串以及该字符串的各个字符的变体(在dict中列出) 字典表示特定lst字符可以表示的不同字符。所以lst中的“W”实际上可以是“a”或“T” 再举一个例子,如果lst=['AW'],那么排列将是:['a','a']和['a','T'] 我希望类似的东西能帮我解决这个问题。很难说你在问什么,但我猜: [A,A,G

根据上面的列表和字典,我想得到lst中字符串的组合:

var = {'A': 'A', 'W': 'AT', 'K': 'GT'}
lst = ['AWK']
这些组合来自lst中的字符串以及该字符串的各个字符的变体(在dict中列出)

字典表示特定lst字符可以表示的不同字符。所以lst中的“W”实际上可以是“a”或“T”

再举一个例子,如果lst=['AW'],那么排列将是:['a','a']和['a','T']


我希望类似的东西能帮我解决这个问题。

很难说你在问什么,但我猜:

[A,A,G], [A,A,T],[A,T,G],[A,T,T]

IIUC,在为每个角色建立适当的可能性列表后,可以使用
itertools.product
。例如:

itertools.product(var.values())
或者,如果您想要新词而不是元组:

>>> from itertools import product
>>> var = {'A': 'A', 'W': 'AT', 'K': 'GT'}
>>> word = "AWK"
>>> poss = [var[c] for c in word]
>>> poss
['A', 'AT', 'GT']
>>> list(product(*poss))
[('A', 'A', 'G'), ('A', 'A', 'T'), ('A', 'T', 'G'), ('A', 'T', 'T')]

(顺便说一句:这些不是排列。)

写一些代码,贴在这里,我们会从那里帮助你。有了这根棍子和这只哈密瓜,我想要一只海象。看起来你几乎没有解释过这个问题。这就是@timgeb想要表达的意思。你要求的排列看起来很随机。如果你澄清问题。我一定会帮你的。对不起,我没有说明我想做什么。希望编辑中的信息能有所帮助。很抱歉描述不好。这就是我要找的!
>>> [''.join(p) for p in product(*poss)]
['AAG', 'AAT', 'ATG', 'ATT']