- 字符串由一个单引号(’),双引号(“),单三重引号(”’)或双三重引号(“””)分隔,可以在双引号分隔的字符串中插入一个单引号,反之亦然。
’Here we have "double quotes" inside single quotes’
如果一个字符串以一种类型引号开始,就必须用同一类型的引号结束。
三重引号的字符串,我们可以用它们来表示多行字符串。
"""Hi! I’m a multiline string"""
字符串操作
将一个字符串从大写字母转换为小写字母:
In [1]: signal_peptide = 'MASKATLLLAFTLLFATCIA'
In [2]: signal_peptide.lower()
Out[2]: 'maskatlllaftllfatcia'
In [3]: signal_peptide = signal_peptide.lower()
In [4]: signal_peptide
Out[4]: 'maskatlllaftllfatcia'
replace(old,new[,count]): 替代字符,参数count只有最早出现count的old被替换。
In [5]: dna_seq = 'GCTAGTAATGTG'
In [6]: m_rna_seq = dna_seq.replace('T','U')
In [7]: m_rna_seq
Out[7]: 'GCUAGUAAUGUG'
In [10]: m_rna_seq = dna_seq.replace('T','U',2) #U只替换2次T
In [11]: m_rna_seq
Out[11]: 'GCUAGUAATGTG'
count(sub[, start[, end]]):计算次数
计算序列的CG含量
In [11]: m_rna_seq
Out[11]: 'GCUAGUAATGTG'
In [12]: dna_seq
Out[12]: 'GCTAGTAATGTG'
In [13]: c = dna_seq.count('C')
In [14]: g = dna_seq.count('G')
In [15]: (c+g)/len(dna_seq)*100
Out[15]: 41.66666666666667
find(sub[,start[,end]]):返回字符串的起始位置,如果没有找到则返回-1
In [21]: m_rna_seq
Out[21]: 'GCUAGUAAUGUG'
In [22]: m_rna_seq.find('AUG')
Out[22]: 7
In [23]: m_rna_seq.find('GGG')
Out[23]: -1
index(sub[,start[,end]]):与find方法类似,只是index()没找到字符串会报错
In [24]: m_rna_seq.index('GGG')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Input In [24], in <cell line: 1>()
----> 1 m_rna_seq.index('GGG')
ValueError: substring not found
In [25]: m_rna_seq.index('AUG')
Out[25]: 7
split([sep [,maxsplit]]):将一个字符串的“单词”分隔并返回一个列表
默认空格分隔
In [26]: 'This string has words separated by spaces'.split()
Out[26]: ['This', 'string', 'has', 'words', 'separated', 'by', 'spaces']
如果不是空格分隔,需指定分隔符
In [27]: "Alex Doe,5555-2333,nobody@example.com".split(",")
Out[27]: ['Alex Doe', '5555-2333', 'nobody@example.com']
BLAST分析的结果(-m 8参数)是制表符分隔的输出文件,可以通过split(“\t”)解析。
join(seq):将字符串连接成一个字符串
In [28]: ''.join('ATCG')
Out[28]: 'ATCG'
In [30]: ';'.join(['Alex Doe', '5555-2333', 'nobody@example.com'])
Out[30]: 'Alex Doe;5555-2333;nobody@example.com'
可在终端输入help(str)来获取完整的字符串方法描述。












网友评论