为了账号安全,请及时绑定邮箱和手机立即绑定

如何拆分列表

如何拆分列表

白板的微信 2022-05-11 14:28:35
我有一个名为 lst 的列表,如下所示:lst = ['A', 'C', 'T', 'G', 'A', 'C', 'G', 'C', 'A', 'G']我想知道的是如何将其拆分为以第一个、第二个、第三个和第四个字母开头的四个字母字符串;然后移动到第二个、第三个、第四个和第五个字母等等,然后将其添加到一个新列表以与主列表进行比较。
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

采用:


lst = ['A', 'C', 'T', 'G', 'A', 'C', 'G', 'C', 'A', 'G']

i=0

New_list=[]

while i<(len(lst)-3):

    New_list.append(lst[i]+lst[i+1]+lst[i+2]+lst[i+3])

    i+=1

print(New_list)

输出:


['ACTG', 'CTGA', 'TGAC', 'GACG', 'ACGC', 'CGCA', 'GCAG']


查看完整回答
反对 回复 2022-05-11
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

我认为其他答案可以解决您的问题,但是如果您正在寻找一种Python的方式来做到这一点,我使用了List comprehension。强烈建议使用它来简化代码,尽管有时会降低代码的可读性。它也很短。


lst = ['A', 'C', 'T', 'G', 'A', 'C', 'G', 'C', 'A', 'G']

result = [''.join(lst[i:i+4]) for i in range(len(lst)-3)]

print(result)


查看完整回答
反对 回复 2022-05-11
?
动漫人物

TA贡献1815条经验 获得超10个赞

所有 4 克(无填充):


# window size:

ws = 4

lst2 = [

    ''.join(lst[i:i+ws])

    for i in range(0, len(lst))

    if len(lst[i:i+ws]) == 4

]

不重叠的 4 克:


lst3 = [

    ''.join(lst[i:i+ws])

    for i in range(0, len(lst), ws)

    if len(lst[i:i+ws]) == 4

]


查看完整回答
反对 回复 2022-05-11
  • 3 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号