我有一个包含DNA和随机行的列表,如下所示:
dnalist=['AGTCCTGCAGTCG', '@#$@#!AG!!ECG']
我想创建一个函数,过滤掉除了字符’A”G”C’或’T’之外的任何行.到目前为止,我的代码有一种非常粗略的过滤方式,很容易被愚弄:
def seperate(B):
'takes a list and seperates the DNA lines'
newlist=[]
for i in B:
if i[0]=='G'or i[0]=='A' or i[0]=='T' or i[0]=='C':
newlist.append(i)
return newlist
如果有人能指出一些有关python数据操作的有用教程,那也很棒.谢谢!!!
最佳答案 您可以学习的数据操作的最佳工具可能是理解(查看Python文档教程以了解这些).这是使用它们的解决方案:
[string for string in dnalist if all(char in "GATC" for char in string)]
你可以看到你基本上描述了你想要的数据.上面的意思是“给我所有的字符串,其中字符串中的所有字符都在集合{”G“,”A“,”T“,”C“}中.