在python中选择并存储字符串中的数据

2024-10-02 14:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我获得了一个txt文件的信息,并将其存储为lines

print(lines)

['>chr12_9180206_+:chr12_118582391_+:a1;2 total_counts: 115 Seed: 4 K: 20 length: 79\n', 'TTGGTTTCGTGGTTTTGCAAAGTATTGGCCTCCACCGCTATGTCTGGCTGGTTTACGAGC\n', 'AGGACAGGCCGCTAAAGTG\n', '>chr12_9180206_+:chr12_118582391_+:a2;2 total_counts: 135 Seed: 4 K: 20 length: 80\n', 'CTAACCCCCTACTTCCCAGACAGCTGCTCGTACAGTTTGGGCACATAGTCATCCCACTCG\n', 'GCCTGGTAACACGTGCCAGC\n']

如果你执行代码

for i in lines:
   print(i)

你会得到:

>chr12_9180206_+:chr12_118582391_+:a1;2 total_counts: 115 Seed: 4 K: 20 length: 79

TTGGTTTCGTGGTTTTGCAAAGTATTGGCCTCCACCGCTATGTCTGGCTGGTTTACGAGC

AGGACAGGCCGCTAAAGTG

>chr12_9180206_+:chr12_118582391_+:a2;2 total_counts: 135 Seed: 4 K: 20 length: 80

CTAACCCCCTACTTCCCAGACAGCTGCTCGTACAGTTTGGGCACATAGTCATCCCACTCG

GCCTGGTAACACGTGCCAGC

我想将capsTTGGTTTCGTGGTTT...中的序列作为独立元素存储在对象中,以便您可以使用它们进行操作,这样您就可以执行以下操作:

seq[1]
>>> TTGGTTTCGTGGTTTTGCAAAGTATTGGCCTCCACCGCTATGTCTGGCTGGTTTACGAGCAGGACAGGCCGCTAAAGTG

Tags: 文件txta2a1lengthseedtotallines
3条回答
gattaca = [x.strip() for x in lines if x.isupper()]

>>> gattaca
['TTGGTTTCGTGGTTTTGCAAAGTATTGGCCTCCACCGCTATGTCTGGCTGGTTTACGAGC',
 'AGGACAGGCCGCTAAAGTG',
 'CTAACCCCCTACTTCCCAGACAGCTGCTCGTACAGTTTGGGCACATAGTCATCCCACTCG',
 'GCCTGGTAACACGTGCCAGC']

因此,如果使用isupper(),可以检查列表中的字符串是否为大写。如果True,则表示是

for i in lines:
   if i.isupper():
      ## store the string

您可以这样做:

lines = list(map(str.strip, (filter(str.isupper, lines))))

相关问题 更多 >