搜索
查看: 3594|回复: 4

Python小测002

[复制链接]

8

主题

26

帖子

157

积分

注册会员

Rank: 2

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

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

使用道具 举报

8

主题

26

帖子

157

积分

注册会员

Rank: 2

积分
157
 楼主| 发表于 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
   
回复 支持 反对

使用道具 举报

0

主题

19

帖子

68

积分

注册会员

Rank: 2

积分
68
发表于 2020-6-4 08:41:37 | 显示全部楼层
dna = "GATGGAACTTGACTACGTAAATT"
dna_list = []

for x in range(int(len(dna)/3)+1):
    if len(dna) >2:
        dna_3 = dna[:3]
        dna = dna[3:]
        dna_list.append(dna_3)
    else:
        dna_list.append(dna)
print(dna_list)
回复 支持 反对

使用道具 举报

0

主题

10

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2021-2-3 15:31:27 | 显示全部楼层
dna = 'GATGGAACTTGACTACGTAAATT'
a = len(dna) // 3
b = len(dna) % 3
if b == 0:
    list_aa = [dna[c*3: (c + 1)*3] for c in range(0, a)]
    print(list_aa)
else:
    list_aa = [dna[c*3: (c + 1)*3] for c in range(0, a+1)]
    print(list_aa)
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2021-3-3 16:21 , Processed in 0.024678 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.