加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何删除包含我指定的字符以外的字符的行?

发布时间:2020-12-20 11:58:23 所属栏目:Python 来源:网络整理
导读:我有一个包含DNA和随机行的列表,如下所示: dnalist=['AGTCCTGCAGTCG','@#$@#!AG!!ECG'] 我想创建一个函数,过滤掉除了字符’A”G”C’或’T’之外的任何行.到目前为止,我的代码有一种非常粗略的过滤方式,很容易被愚弄: def seperate(B): 'takes a list and
我有一个包含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“}中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读