需要创建一个一次替换一个字母的字典

时间:2016-10-24 17:23:46

标签: python dictionary

我目前正在尝试完成一个项目,我必须使用字典来查找DNA链的互补序列。从我的.txt文件导入的字符串完全由字母ACTG组成。为了找到补充,我需要切换每个A和T以及每个C和G.但是,当我尝试用字典完成此操作时,如果有意义的话,它会将所有字母切换为仅As或仅Gs。我需要找到一种方法让它一次遍历一个字母的字符串并以这种方式替换它们。我将插入到目前为止的代码,请帮忙!

#open file with DNA strand
df = open("dnafile.txt", 'r')

#function for finding the complementary strand
def encode(code,DNA):
    for k in code:
        DNA = DNA.replace(k,code[k])
    print('The complementary strand is: ' + DNA)

#carry out this function
code = {'A':'T', 'T':'A', 'C':'G', 'G':'C'}
DNA = df.read()
encode(code,DNA)

1 个答案:

答案 0 :(得分:1)

您可以使用列表推导和join字符串方法:

DNA = ''.join(code[k] for k in DNA)