簡體   English   中英

關於使用python3的列表列表的問題

[英]question about list of list using python3

代碼:

file =open(files, 'r')
seqs = []
title = []
f = file.readlines()

for line in f:
    if line[0] == ('>'):
        title.append(line[1:-1]) 
    if line[0] != '>':
            seqs.append(line.rstrip()) 
            

final = []
for t, s in zip(title, seqs):
    final.append([t, s])

return final

我想將 output 中描述的多條線路配對。

但我得到的 output 沒有對齊,因為序列可以占用多行。

如果每行以>開頭,則可以讀取每一行,然后您知道它是 append 的新列表 output 列表的新列表,其中包含此行數據和一個包含下一行的空字符串。

data = """>A18178 1
caccaataaaaaaacaagcttaacctaattc
>A21196 1
cggccagatcta
>A21197 1
agcttagatctggccgggg
>AX557348 1
gcggatttactcaggggagagcccagataaatggagtctgtgcgtccaca
gaattcgcacca
>AX557349 1
gcggatttactcaggggagagcccagataaatggagtctgtgcgtccaca
gaattcgcacca
>AX557350 1
tccgtgaaacaaagcggatgtaccggatttttattccggctatggggcaa
ttccccgtcgcggagcca"""

output = []
for line in data.splitlines():
    if line.startswith('>'):
        output.append([line[1:], ''])
    else:
        output[-1][-1] += line

print(output)

OUTPUT

[
  ['A18178 1', 'caccaataaaaaaacaagcttaacctaattc'], 
  ['A21196 1', 'cggccagatcta'], 
  ['A21197 1', 'agcttagatctggccgggg'], 
  ['AX557348 1', 'gcggatttactcaggggagagcccagataaatggagtctgtgcgtccacagaattcgcacca'], 
  ['AX557349 1', 'gcggatttactcaggggagagcccagataaatggagtctgtgcgtccacagaattcgcacca'], 
  ['AX557350 1', 'tccgtgaaacaaagcggatgtaccggatttttattccggctatggggcaattccccgtcgcggagcca']
]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM