2024-06-16 06:35:31 发布
网友
我正在尝试开发一个程序,用户输入一串核苷酸,然后得到互补字符串(例如,CAGT变成GTCA)
我已经建立了一本字典:
dicto = {'A':'T', 'C':'G', 'T':'A', 'G':'C'}
我以字符串的形式输入用户输入,以与字典键交叉引用:
user = raw_input(prompt)
但是,尽管进行了搜索,我还是不知道如何在字典中使用用户输入的多个字符。我想会是这样的:
print dicto[x for x in user]
欢迎任何帮助
您可以使用^{}
>>> dicto = {'A':'T', 'C':'G', 'T':'A', 'G':'C'} >>> user = 'ACTG' >>> from operator import itemgetter >>> itemgetter(*user)(dicto) ('T', 'G', 'A', 'C') >>> ''.join(_) 'TGAC'
为此,使用str.translate是合适的。像这样:
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))
你可以用
print("".join([dicto[x] for x in user]))
它的作用是: 创建一个包含正确碱基对的列表,在dicto中查找:
[dicto[x] for x in user]
并通过在所有列表元素之间插入调用该列表的字符串(此处为空字符串,空格是常用选项),将该列表馈送给"".join(),该列表创建一个字符串
"".join()
您可以使用^{}
为此,使用
str.translate
是合适的。像这样:你可以用
它的作用是: 创建一个包含正确碱基对的列表,在dicto中查找:
并通过在所有列表元素之间插入调用该列表的字符串(此处为空字符串,空格是常用选项),将该列表馈送给
"".join()
,该列表创建一个字符串相关问题 更多 >
编程相关推荐