python - 用python挑选互补碱基对
问题描述
我正在尝试开发一个程序,其中用户输入一串核苷酸并给出互补字符串(例如,CAGT 变为 GTCA)。
我已经建立了一个字典:
dicto = {'A':'T', 'C':'G', 'T':'A', 'G':'C'}
我正在以字符串的形式输入用户输入以与字典键交叉引用:
user = raw_input(prompt)
但是,尽管进行了搜索,但我不知道如何将用户输入的多个字符用于字典。我想它会像下面这样:
print dicto[x for x in user]
欢迎任何帮助。
解决方案
为此,使用str.translate
将是合适的。像这样:
#!python2
import string
trans = string.maketrans("ACTG", "TGAC")
user = raw_input()
print user.translate(trans)
#!python3
trans = str.maketrans('ACTG', 'TGAC')
user = input()
print(user.translate(trans))