有没有办法在字符串中替换一次字母?
is there a way to replace letters once in a string?
我 运行 遇到一个问题,它要么将所有 G 替换为 C,但没有将 C 替换为 G,我该怎么做才能解决这个问题?
我现在得到的输出是“GUGAGGGGAG”
我正在寻找的输出是“CUCAGCGCAG”
这是我到目前为止的代码:
a_string = "GAGTCGCGTC"
remove_characters = ["G", "A", "T", "C"]
ch1 = "G"
ch2 = "A"
ch3 = "T"
ch4 = "C"
a_string = a_string.replace (ch1, "C")
a_string = a_string.replace (ch2, "U")
a_string = a_string.replace (ch3, "A")
a_string = a_string.replace (ch4, "G")
print (a_string)
- 我正在做 DNA 到 RNA 的翻译代码!所以 A 替换为 U,G 替换为 C,T 替换为 A,C 替换为 G
您可以对小写字母进行替换,然后只有在所有替换完成后,才将字符串完全转为大写。
使用str.translate
我们可以一次性改变整个字符串:
a_string = "GAGTCGCGTC"
string1 = "GATC"
string2 = "CUAG"
print(a_string.translate(str.maketrans(string1, string2)))
输出:
CUCAGCGCAG
在Python3中你可以使用translate
:
a_string = 'GAGTCGCGTCTACACATGCAGTCGAACGGTAGCACAGAGAGCTTGCTCTCGGGTG'
trans = {
'G': 'C',
'A': 'U',
'T': 'A',
'C': 'G'
}
print(a_string.translate(str.maketrans(trans)))
# CUCAGCGCAGAUGUGUACGUCAGCUUGCCAUCGUGUCUCUCGAACGAGAGCCCAC
我 运行 遇到一个问题,它要么将所有 G 替换为 C,但没有将 C 替换为 G,我该怎么做才能解决这个问题? 我现在得到的输出是“GUGAGGGGAG” 我正在寻找的输出是“CUCAGCGCAG” 这是我到目前为止的代码:
a_string = "GAGTCGCGTC"
remove_characters = ["G", "A", "T", "C"]
ch1 = "G"
ch2 = "A"
ch3 = "T"
ch4 = "C"
a_string = a_string.replace (ch1, "C")
a_string = a_string.replace (ch2, "U")
a_string = a_string.replace (ch3, "A")
a_string = a_string.replace (ch4, "G")
print (a_string)
- 我正在做 DNA 到 RNA 的翻译代码!所以 A 替换为 U,G 替换为 C,T 替换为 A,C 替换为 G
您可以对小写字母进行替换,然后只有在所有替换完成后,才将字符串完全转为大写。
使用str.translate
我们可以一次性改变整个字符串:
a_string = "GAGTCGCGTC"
string1 = "GATC"
string2 = "CUAG"
print(a_string.translate(str.maketrans(string1, string2)))
输出:
CUCAGCGCAG
在Python3中你可以使用translate
:
a_string = 'GAGTCGCGTCTACACATGCAGTCGAACGGTAGCACAGAGAGCTTGCTCTCGGGTG'
trans = {
'G': 'C',
'A': 'U',
'T': 'A',
'C': 'G'
}
print(a_string.translate(str.maketrans(trans)))
# CUCAGCGCAGAUGUGUACGUCAGCUUGCCAUCGUGUCUCUCGAACGAGAGCCCAC