【发布时间】:2015-10-23 21:19:31
【问题描述】:
代码用途:
我提供了一个字符串并将其与字典键匹配;如果键和字符串匹配,我打印字典值。
代码如下:
def to_rna(dna_input):
dna_rna = {'A':'U', 'C':'G', 'G':'C', 'T':'A'}
rna = []
for key in dna_rna.iterkeys():
if key in dna_input:
rna.append(dna_rna[key])
print "".join(rna)
to_rna("ACGTGGTCTTAA") #the string input
问题:
结果应该是“UGCACCAGAAUU”,但我得到的只是“UGAC”。问题似乎是我在字符串中有重复的字符,而循环忽略了这一点。如何循环遍历字典,使其返回字典值的次数与找到 dict 键的次数一样多?
【问题讨论】:
-
循环应该是
for char in dna_input,而不是迭代字典的键。 -
然后附加字符串中出现的每个字符的对应值。
-
最后,像你一样加入他们。
标签: python dictionary