неверный поиск значений в списке

reader = ['R5', '34234', 'adfsd - fcasd', 'sadfa', 'R6', '343 - rf3', 'sdfe', 'R5', 'sqagf', 'sadfasd', 'afwegf']
n = 2
ra_3 = []
ch_3 = 'adfsd - sfdfd'
for row in reader:
    row = ['5' if x == 'R5' else x for x in row]
    row = ['6' if x == 'R6' else x for x in row]
    if ch_3 in row:
        ra_3.append(row[row.index(ch_3) + n])
    else:
        if ch_3 not in row:
            for i in range(len(row) - n):
                if row[i].partition('-')[0] == ch_3.partition('-')[0]:
                    ra_3.append(row[i + n])
        else:
            if row[i].partition('-')[0] != ch_3.partition('-')[0]:
                for i in range(len(row) - n):
                    if row[i].partition('-')[2] == ch_3.partition('-')[2]:
                        ra_3.append(row[i + n])

код не всегда верно ищет значения: надо, чтобы после первого поиска, если значения найдены, поиск останавливался; если не найдены - переходил к следующему поиску. Путаница с if else и for программа должна сделать ra_3 = [6]


Ответы (0 шт):