Как запустить два цикла for одновременно и принять решение о выходе - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь запустить два цикла for одновременно и принимать решение по каждому проходу.Циклы ищут в файле sql и берут каждую строку для сравнения.

Я пытался сплетать цикл безуспешно.Если у кого-то есть предложения, как это сделать или как реализовать многопоточный подход.(Я никогда не пробовал многопоточность)

for row in rows:
    print(row)
    KnowNextRow = nextrowfinder(str(row))
    print(KnowNextRow)

for perrow in perrows:
    PerfectNextRow = perrow
    print(str(PerfectNextRow))
Search_Procedure(str(row))

#Then compare see if  KnowNextRow == PerfectNextRow after each pass else:     {Code}

Что я получу, если буду выполнять это с оператором if, будет решением из последней строки, извлеченной из цикла for.То, что я хотел бы сделать, это сравнить каждую строку и принимать решение построчно.

1 Ответ

0 голосов
/ 05 февраля 2019

Я не думаю, что вам нужна многопоточность, чтобы получить желаемый результат.Просто поместите вывод в списки Python и выполните цикл, используя функцию перечисления:

rows_list = []
perrows_list = []

for row in rows:
    print(row)
    KnowNextRow = nextrowfinder(str(row))
    rows_list.append(KnowNextRow)

for perrow in perrows:
    PerfectNextRow = perrow
    xx = (str(PerfectNextRow))
    perrows_list.append(xx)
rows_len = len(rows_list)  #Get length of lists to ensure they are the same
perlen = len(perrows_list) 

for idx, item in enumerate(rows_list):
    if idx < (perlen - 1) # Check that perrows item exists
        if item == perrows_list[idx] 
            print("Rows Match At Row# " + idx) 
...