【发布时间】:2021-11-03 06:42:50
【问题描述】:
此函数将输入字符串映射到字典中的字符串,并输出结果。知道如何递归处理吗?
def dna(seq):
hashtable = {'A': 'U', 'G': 'C', 'T': 'A', 'C': 'G'}
ans = ''
for i in range(len(seq)):
ans += hashtable[seq[i]]
return ans
print(dna('AGCTGACGTA'))
谢谢。
【问题讨论】:
-
理论上,任何迭代都可以重写为递归。在实践中,Python 不是很擅长,在这种情况下迭代方法更可取;递归没有任何好处。这段代码可以改进(
for ch in seq,或者使用理解,或者最好使用str.translate),但是你目前拥有的仍然比递归好得多。
标签: python dictionary recursion hashmap iteration