gpt4 book ai didi

python - 如何从具有列表值的字典中检索给定键序列的所有可能组合

转载 作者:太空狗 更新时间:2023-10-30 02:21:43 24 4
gpt4 key购买 nike

例如我有这本字典

d={'M':['ATG'],'D':['GAC','GAT'],'E':['GAA','GAG']}

在给定键序列的情况下,我希望得到的输出是一个包含所有可能序列的列表。 (也可以是一个字符串,其中所有可能的序列将在单独的行中“\n”)

sequence = "MDE" 

所以,输出应该是这样的:

['ATGGACGAA','ATGGACGAG','ATGGATGAA','ATGGATGAG']

目前我尝试过的是下面的,当然这不是我想要的:

seq_trans = ''

for aa in sequence:
for k, v in d.iteritems():
if k == aa:
for item in v:
seq_trans= seq_trans + item
print seq_trans

我得到的“MDE”是:

'ATGGACGATGAAGAG'

最佳答案

您可以使用 itertools.product在这里,它返回输入迭代的笛卡尔积。

In [78]: seq="MED"

In [79]: ["".join(x) for x in product(*(d[y] for y in seq))]
Out[79]: ['ATGGAAGAC', 'ATGGAAGAT', 'ATGGAGGAC', 'ATGGAGGAT']

关于python - 如何从具有列表值的字典中检索给定键序列的所有可能组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14431814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com