搜索
查看: 6879|回复: 7

Python小测002

[复制链接]

8

主题

26

帖子

159

积分

注册会员

Rank: 2

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

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

使用道具 举报

8

主题

26

帖子

159

积分

注册会员

Rank: 2

积分
159
 楼主| 发表于 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

帖子

74

积分

注册会员

Rank: 2

积分
74
发表于 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)
回复 支持 反对

使用道具 举报

0

主题

2

帖子

30

积分

新手上路

Rank: 1

积分
30
发表于 2021-6-11 09:28:30 | 显示全部楼层
dna = input('请输入基因序列:')
dna = dna.upper()
nu_dna = len(dna)
list = []
for i in range(0, nu_dna, 3):
    dna_l = dna[i:i + 3]
    list.append(dna_l)
print(list)
回复 支持 反对

使用道具 举报

0

主题

5

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2022-9-28 09:33:22 | 显示全部楼层
lists=[dna[i:i+3]for i in range(0,len(dna),3) ]
print(lists)
回复 支持 反对

使用道具 举报

0

主题

5

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2022-9-28 10:16:45 | 显示全部楼层
dna = "GATGGAACTTGACTACGTAAATT"
lists=[dna[i:i+3]for i in range(0,len(dna),3) ]
print(lists)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2023-6-6 03:47 , Processed in 0.148358 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.