Повторное выполнение цикла if после выполнения условия Python3 - PullRequest
0 голосов
/ 13 ноября 2018

У меня есть CSV-файл с сайтами начала и конца гена. Я хочу зациклить файл, сжимая перекрывающиеся области транскрипции. Мои данные отформатированы в виде списка коротких списков (содержащих «номер хромосомы», «начальный сайт», «конечный сайт»). В моем коде я читаю списки из списка и сжимаю их в цикле, указывая, что они должны быть в одной хромосоме, иначе выйдите из цикла. однако после выхода из цикла я смог взять новый номер хромосомы в качестве базовой линии и перезапустить цикл, используя его. Есть ли способ, которым я могу это сделать?

1 Ответ

0 голосов
/ 13 ноября 2018

Мне кажется, что вам лучше всего использовать функцию в этом случае.Ваша функция может взять номер хромосомы и список в качестве параметров.Затем он будет обрабатывать данные в зависимости от конкретной информации, которую вы ему передаете.

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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...