[英]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.