Поиск последовательностей чисел в списке

Хотел попросить помощи в решении данной задачи. Имеются две книги одна с номерами телефонов 'CDR_RAW, а в другой справочник кодов телефонов с тарифами на услуги связи. Мне нужно к каждому номеру телефона получить перечень кодов из таблицы тарифов 'Свод по тарифам.txt'.

CDR_RAW = [74956666785, 73428527455, 74875244661 т д]
'Свод по тарифам.txt' = [7495, 7812, 7343, 7487 и т д] 
Итоговое пересечение: List_ = [749566667857495, 7487]

tariff= open('Свод по тарифам.txt', 'r', encoding='UTF8')
next(tariff)
CDR = open('CDR_RAW.csv', 'r', encoding='UTF-8')
next(CDR)
for line_3 in CDR:
    line_4 = line_3.replace('"', '').strip().split(';')
    for elem_number_CDR in range(0, len(line_4[5])):
        for line_1 in tariff:
            line_2 = line_1.replace('"', '').strip().split(';')
            List_ = [] 
            if line_4[5][0:elem_number_CDR] == line_2[0][0:elem_number_CDR]:
                List_.append(line_2[0][0:elem_number_CDR])
                print(List_)

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

Автор решения: vadim vaduxa
CDR_RAW = [74956666785, 74956666786, 73428527455, 74875244661, ]
CODE = [7495, 7812, 7343, 7487, ]

cdr_raw = list(map(str, CDR_RAW))
codes = set(map(str, CODE))

code_cdr = {'unknown_code': [], }
for tel in cdr_raw:
    for code in codes:
        if str.startswith(tel, code):
            try:
                code_cdr[code].append(tel)
            except KeyError:
                code_cdr[code] = [tel]
            break
    else:
        code_cdr['unknown_code'].append(tel)

print(code_cdr)  # {'unknown_code': ['73428527455'], '7495': ['74956666785', '74956666786'], '7487': ['74875244661']}
→ Ссылка