查看原文
其他

python 查找字符串

JunJunLab 老俊俊的生信笔记 2022-08-15

点击上方,关注老俊俊!

1引言

分享一下 python 里查找特定字符串的笔记。

2find 函数查找

序列:

seq = 'ATGTGACCCTGATTTTGAATGatgAtgAtGaTGaTg'

find 函数查找指定字符串 第一个 出现位置的下标索引:

seq.find('ATG')
0

若找不到则返回 -1:

seq.find('ATB')
-1

如果我们想寻找多个字符串,可以写个循环,每次指定上一次出现的位置向后寻找,给定 start 参数,参考自 https://mp.weixin.qq.com/s/VCXtONFEeWPdhbiaj00Nng:

def find_all(string, sub):
    start = 0
    pos = []
    while True:
        start = string.find(sub, start)
        if start == -1:
            return pos
        pos.append(start)
        start += len(sub)

find_all(seq,'ATG')
[018]

3re 库函数查找

返回的是查找到的字符串:

import re

re.findall('ATG',seq)

获取每个字符串的索引:

[pos.start() for pos in re.finditer('ATG',seq)]
[018]

如果需要忽略大小写进行查找,则可以加上 flags=re.IGNORECASE 参数:

re.findall('ATG',seq,flags=re.IGNORECASE)
['ATG''ATG''atg''Atg''AtG''aTG''aTg']

索引:

[pos.start() for pos in re.finditer('ATG',seq,flags=re.IGNORECASE)]
[0182124273033]




  老俊俊生信交流群 ,QQ,


老俊俊微信:


知识星球:



欢迎小伙伴留言评论!

今天的分享就到这里了,敬请期待下一篇!

最后欢迎大家分享转发,您的点赞是对我的鼓励肯定

如果觉得对您帮助很大,赏杯快乐水喝喝吧!



  




tornadoplot 绘制富集热图

m6A metagene distribution 计算详解

跟着 nature cell biology 学绘图-小提琴图

跟着 CNS 学绘图-带阴影背景条形图

如何上传质谱数据到 ProteomeXchange 官网

epistack 优雅的可视化你的基因区域

python 学习之 pandas 读取文本数据

python  pandas -

ribotish 质控结果复现及重新绘制

python 学习之 pandas 的基本功能-上

◀...

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存