如何替换列表中的字母?



如何替换给定列表中的字母?

A应替换为T在给定字符串->['GACGTAGCTAGCGTA' , 'TTCCCTAGCGTA' ]

A -> T
G -> C
T -> A
C -> G

我是一个字母一个字母的阅读和打印之后,卡住了如何达到以下输出。

for j in str(lst):

'''
A -> T
G -> C
T -> A
C -> G
N

'''    

if j == 'A':

j='T'


elif j == 'G' :

j='C'

elif j == 'T' :

j='A'

elif j == 'C' :

j='G'       

else:

pass

print(j)

输出:

[ 'CTGCATCGATCGCAT' , 'AAGGGATCGCAT' ]

我不确定我理解你的问题,但是translate()函数可用于使用字典映射字符串中的字符:

table = {'G':'C', 'A':'T', 'C':'G', 'T':'A'}
string = 'GACGTAGCTAGCGTA'
print(string.translate(table))

输出为:'GACGTAGCTAGCGTA'

希望它能回答你的问题。

您可以使用str.maketrans创建一个翻译表,然后使用str.translate来获得所需的结果:

>>> lst = ['GACGTAGCTAGCGTA' , 'TTCCCTAGCGTA']
>>> for item in lst:
...     print(item.translate(item.maketrans('ATGC', 'TACG')))
...
CTGCATCGATCGCAT
AAGGGATCGCAT

为了完整起见,下面是一个列表的结果:

lst = ['GACGTAGCTAGCGTA' , 'TTCCCTAGCGTA']
my_list = [item.translate(item.maketrans('ATGC', 'TACG')) for item in lst]
print(my_list)

修改的是局部变量j,而不是字符串本身的任何方面。您可能想用结果创建一个新字符串。

example_input = "AACGT"
output = ""
for x in example_input:
if j == 'A':
j = 'T'
elif j == 'G':
j = 'C'
elif j == 'T':
j = 'A'
elif j == 'C':
j = 'G'       
output += j
print(output)

您可以使用字典。原来的字母将是键,更新后的字母将是对应的值。然后就可以遍历字符串并获得合适的字母。

my_list = ['GACGTAGCTAGCGTA' , 'TTCCCTAGCGTA' ] 
ans = []
for entry in my_list:
s = ""
wordMap = { 'A' : 'T', 'G':'C', 'T':'A', 'C' :'G'}
for i in entry:
s+=wordMap[i]
ans.append(s)
print(ans)

['CTGCATCGATCGCAT', 'AAGGGATCGCAT']

最新更新