首页 > 解决方案 > 在满足 else 条件后重新进入 if 循环 Python3

问题描述

我有一个带有基因起始和结束位点的 csv 文件。我想遍历文件,压缩重叠的转录区域。我的数据被格式化为一个短列表(包含“染色体编号”、“起始位点”、“结束位点”)。在我的代码中,我从列表中读取列表并将它们压缩在一个循环下,指定它们必须在同一条染色体上,否则退出循环。不过,在我退出循环之后,我能够将新的染色体编号作为基线并使用它重新启动循环。有没有办法我可以做到这一点?

标签: python-3.xif-statement

解决方案


在我看来,您最适合在这种情况下使用函数。您的函数可以将染色体编号和列表作为参数。然后它将根据您传递给它的特定信息处理数据。

def loop_it(chromosome_number, _list):
    condensed_list = []
    for item in _list:
        if item[0]  == chromosome_number:
            condensed_list.append(item)
        else:
            pass
    return condensed_list

然后您可以定义您的列表并将其与您希望找到的染色体编号一起传递给函数。所以说你有一个清单:

data_list = [[7, "ATG", "GCG"],[2, "AGG", "GCG"]] #format ->["chromosome number", "start site", "end site"]

现在,您可以使用不同的染色体编号反复迭代列表。

chrome7 = loop_it(7, data_list)chrome2 = loop_it(2, data_list)


推荐阅读