首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接以字母开头的行?

如何连接以字母开头的行?
EN

Stack Overflow用户
提问于 2020-04-28 11:15:04
回答 2查看 45关注 0票数 0

我正在尝试将文本文件中的行连接到两个列表中。第一个列表将包含以大写字母开头的行,第二个列表将包含以'_‘开头的行。例如:

未命名蛋白产品Bos taurus

部分牛,_CAA42669.1β-2-糖蛋白I

First list='MRTPMLLALLALATLCLAGRADAKPGDAESGKGAAFVSKQEGSEVVKRLRRYLDHWLGAPAPYPDPLEPK REVCELNPDCDELADHIGFQEAYRRFYGPV','PALVLLLGFLCHVAIAGRTCPKPDELPFSTVVPLKRTYEPGEQIVFSCQPGYVSRGGIRRFTCPLTGLWPINTLKCMPRVCPFAGILENGTVRYTTFEYPNTISFSCHTGFYLKGASSAKCTEEGKWSPDLPVCAPITCP‘

第二个列表=‘_CAA35997.1’,'_CAA42669.1‘

我已经尝试了以下方法,但似乎不起作用。我遇到了一个问题,即每个新行都存储为第一个列表中的一个新条目,而不是将这些行连接成一个条目:

代码语言:javascript
复制
for i in seq.text:
  if (i=='_'):
    second_list.append(i)
  else:
    first_list.append(i)
EN

回答 2

Stack Overflow用户

发布于 2020-04-28 11:27:47

最简单的方法是只做当前正在做的事情,然后执行str.join(),一次将整个列表“连接”在一起,顺序如下:

代码语言:javascript
复制
for i in seq.text:
  if i.startswith('_'):
    second_list.append(i)
    # to more closely resemble the output you put in your question,
    # you might want to only append the part up to the first whitespace:
    # second_list.append(i.split()[0])
  else:
    first_list.append(i)

first_string = ''.join(first_list)
second_string = ''.join(second_list)

使用空字符串作为分隔符意味着它们直接连接在一起,中间没有任何东西。您还可以使用其他任何分隔符-逗号','、空格' '、换行符'\n'或任何组合,具体取决于您想要的输出。

票数 1
EN

Stack Overflow用户

发布于 2020-05-02 11:27:07

代码语言:javascript
复制
import re
a_file = open("your_path/test.txt", "r")
list1 = []
list2 = []
for line in a_file:
    if not line.strip(): continue  # skip the empty line
    stripped_line = line.strip()
    line_list = ''.join(stripped_line)
    # To consider '_' in the first list
    #x = re.findall(r"\b_\w+", line_list)
    if (line_list.isupper()): # if (x):
        list1.append(line_list)`
    else:
        list2.append(line_list)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61472029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档