【问题标题】:Adding for-loop elements to a list将 for 循环元素添加到列表
【发布时间】:2016-01-27 23:07:29
【问题描述】:

我正在编写一个代码,它从一个站点获取一些文本,然后通过一个 for 循环获取我感兴趣的部分文本。我可以打印此文本,但我想知道如何将其发送到列表以供以后使用。目前我写的代码就是这个。

import urllib2

keyword = raw_input('keyword: ')

URL = "http://www.uniprot.org/uniprot/?sort=score&desc=&compress=no&query=%s&fil=&limit=10&force=no&preview=true&format=fasta" % keyword

filehandle = urllib2.urlopen(URL)

url_text = filehandle.readlines()

for line in url_text:
    if line.startswith('>'):
        print line[line.index(' ') : line.index('OS')]

【问题讨论】:

    标签: list python-2.7 for-loop


    【解决方案1】:

    只需使用append:

    lines = []
    for line in url_text:
        if line.startswith('>'):
            lines.append(line) # or whatever else you wanted to add to the list
            print line[line.index(' ') : line.index('OS')]
    

    编辑:附带说明,python 可以直接在文件上循环 - 如下所示:

    url_text = filehandle.readlines()
    for line in url_text:
        pass
    
    # can be shortened to:
    for line in filehandle:
        pass
    

    【讨论】:

    • 这是一个不错的方法,但我不会追加整行吗?我只想在第一个空格和最后一行命令中给出的“OS”之间添加该行中的文本。
    • @NunoChicória 在我的示例中是的,但您可以将您喜欢的内容附加到列表中。如果您只想保留之前打印的内容,可以使用lines.append(line[line.index(' ') : line.index('OS')])
    猜你喜欢
    • 2016-08-25
    • 2020-08-12
    • 2015-01-25
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    • 2017-09-22
    • 2019-11-05
    • 2019-04-02
    相关资源
    最近更新 更多