我似乎无法想出一个迭代循环来满足我在这种情况下的需要。
我有一个列表:
seqlist1 = ['C', 'G', 'T', 'G', 'T', 'A', 'G', 'A', 'C', 'G', 'T', 'A', 'A', 'A', 'C', 'A', 'T', 'T', 'T', 'A', 'C', 'C', 'T', 'G', 'T', 'T', 'G', 'A', 'T', 'C', 'T', 'G', 'A', 'G', 'T', 'G', 'C', 'T', 'C', 'G', 'G', 'G', 'A', 'A', 'A', 'T', 'T', 'C', 'C', 'T', 'C', 'A', 'G', 'T', 'G', 'A', 'T', 'G', 'C', 'C', 'T', 'T', 'A', 'A', 'C', 'G', 'C', 'T', 'T', 'C', 'C', 'C', 'A', 'T', 'G', 'C', 'C', 'C', 'A', 'G', 'G', 'C', 'A', 'C', 'G', 'A', 'G', 'T', 'A', 'C', 'T', 'C', 'G', 'T', 'T', 'C', 'A', 'C', 'C', 'G', 'T', 'T', 'T', 'T', 'C', 'T', 'C', 'G', 'A', 'C', 'G', 'T', 'A', 'G', 'A', 'A', 'T', 'A', 'A', 'C', 'G', 'C', 'T', 'A', 'C', 'T', 'T', 'C', 'G', 'C', 'A', 'T', 'T', 'G', 'C', 'A', 'G', 'A', 'G', 'T', 'G', 'G', 'C', 'G', 'G', 'A', 'C', 'C', 'C', 'T', 'A', 'A', 'C', 'G', 'G', 'C', 'A', 'G', 'T', 'T', 'C', 'T']
还有一个空列表:
seqlist2 = []
我希望能够在 seqlist1 列表中逐项检查是否存在特定字母,如果存在该特定字母,则将其补码插入空列表中的相同索引处序列表 2。
到目前为止,我已经尝试了以下方法,但我知道这是不对的:
seqlist1 = ['C', 'G', 'T', 'G', 'T', 'A', 'G', 'A', 'C', 'G', 'T', 'A', 'A', 'A', 'C', 'A', 'T', 'T', 'T', 'A', 'C', 'C', 'T', 'G', 'T', 'T', 'G', 'A', 'T', 'C', 'T', 'G', 'A', 'G', 'T', 'G', 'C', 'T', 'C', 'G', 'G', 'G', 'A', 'A', 'A', 'T', 'T', 'C', 'C', 'T', 'C', 'A', 'G', 'T', 'G', 'A', 'T', 'G', 'C', 'C', 'T', 'T', 'A', 'A', 'C', 'G', 'C', 'T', 'T', 'C', 'C', 'C', 'A', 'T', 'G', 'C', 'C', 'C', 'A', 'G', 'G', 'C', 'A', 'C', 'G', 'A', 'G', 'T', 'A', 'C', 'T', 'C', 'G', 'T', 'T', 'C', 'A', 'C', 'C', 'G', 'T', 'T', 'T', 'T', 'C', 'T', 'C', 'G', 'A', 'C', 'G', 'T', 'A', 'G', 'A', 'A', 'T', 'A', 'A', 'C', 'G', 'C', 'T', 'A', 'C', 'T', 'T', 'C', 'G', 'C', 'A', 'T', 'T', 'G', 'C', 'A', 'G', 'A', 'G', 'T', 'G', 'G', 'C', 'G', 'G', 'A', 'C', 'C', 'C', 'T', 'A', 'A', 'C', 'G', 'G', 'C', 'A', 'G', 'T', 'T', 'C', 'T']
seqlist2 = []
for index, item in enumerate(seqlist1):
if item in seqlist1 == 'A':
seqlist2.append('T')
if item in seqlist1 == 'T':
seqlist2.append('A')
if item in seqlist1 == 'C':
seqlist2.append('G')
if item in seqlist1 == 'G':
seqlist2.append('C')
print seqlist2
我在这里做错了什么?
请您参考如下方法:
你的方法是正确的,但你的语法是错误的。
只需遍历 seqlist1 并检查每个项目,使用语法 seqlist1 中的项目。然后,您比较 item 是否等于 'T'、'A'、'G' 或 'C' 使用 if item == 'A'。
seqlist1 = ...
seqlist2 = []
for item in seqlist1:
if item == 'A':
seqlist2.append('T')
if item == 'T':
seqlist2.append('A')
if item == 'C':
seqlist2.append('G')
if item == 'G':
seqlist2.append('C')
print seqlist2
(我的目标不是给你花哨的一行代码,而是给你初学者看得懂的代码)
