python编程,获取一段序列的反向互补序列,需要多种方法

Python018

python编程,获取一段序列的反向互补序列,需要多种方法,第1张

lt='CATGCATCGT'

def func1(liststr):

t=list(liststr)d=[]

dct={'A':'T','T':'A','C':'G','G':'C'}

for x in range(len(t)):

d.append(dct[t.pop()])

return d

其他的都简单,1.直接字符串反向处理,再逐一翻译;2.用正负数来处理,这个对于大量的任务可以提高效率;3.两遍处理,True、False开关;4.列表内替换,然后反向;5.成对换位,不过效率低下; 6.还有就是直接的字符串替换,然后一个切片s[::-1]就OK了 ;

lt='CATGCATCGT'

lt=lt.replace('A','{A}').replace('T','{T}').replace('C','{C}').replace('G','{G}')

result=lt.format(A='T',T='A',C='G',G='C')[::-1]

range一般是三个参数,最后的1通常省略。如range(1,6,1)可简写为range(1,6)表示1到5的序列

如果是5到1倒着取,则应写为range(5,0,-1)。12345678

for i in range(1,6):    for j in range(1,i+1):        print '*',    printfor i in range(4,0,-1):    for j in range(1,i+1):        print '*',    print

函数在数学上的定义:给定一个非空的数即A,对A施加对应法则f,记作f(A),得到另一数即B,也就是B=f(A).那么这个关系式就叫函数关系式,简称函数.