搜索
查看: 1738|回复: 2

Python小测002

[复制链接]

8

主题

26

帖子

153

积分

注册会员

Rank: 2

积分
153
发表于 2017-11-5 21:03:57 | 显示全部楼层 |阅读模式

一段DNA序列,每3个字符作为一个整体,放入一个列表中,若最后不够3个,则剩下的作为一个整体。
例如:
dna = "GATGGAACTTGACTACGTAAATT"
结果为:
['GAT', 'GGA', 'ACT', 'TGA', 'CTA', 'CGT', 'AAA', 'TT']



上一篇:Python小测001
下一篇:Python小测003
回复

使用道具 举报

8

主题

26

帖子

153

积分

注册会员

Rank: 2

积分
153
 楼主| 发表于 2017-11-5 21:04:39 | 显示全部楼层
dna = "GATGGAACTTGACTACGTAAATT"
a = len(dna)%3
b = 0
c = len(dna)/3
lists1=[]
if a == 0:
    for i in range(int(c)):
        #print(dna[b:b+3])
        lists1.append(dna[b:b+3])
        b += 3
else:
    for i in range(int(c+1)):
        #print(dna[b:b+3])
        lists1.append(dna[b:b+3])
        b += 3
print(lists1)
回复 支持 反对

使用道具 举报

0

主题

2

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2017-11-10 02:41:30 | 显示全部楼层
dna = "GATGGAACTTGACTACGTAAATT"
l = []
a = 0
b = len(dna)

if b%3 >0:   
    c = dna[-(b%3):]  
    dna = dna[:-(b%3)]
else: c = ''
   
while a < len(dna):
    t = dna[a:a+3]
    l.append(t)
    a += 3
if  c:
    l.append(c)
print l
   
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树    

GMT+8, 2019-6-20 20:11 , Processed in 0.036497 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.