Вывод последних личных встреч между командами

Если брать команды, которые сыграли между собой не один десяток матчей в чемпионате, то код легко выводит 5 последних личных встреч в таком формате:

YwYWzJZc, Реал Мадрид 2-0 Валенсия. Примера
WzJXvvvf, Реал Мадрид 4-1 Валенсия. Примера
Yqyf9tk2, Валенсия 1-2 Реал Мадрид. Примера
Isnv0Ixj, Реал Мадрид 2-0 Валенсия. Примера
YuiypxCB, Валенсия 4-1 Реал Мадрид. Примера

Но как быть если команды не сыграли между собой 5 матчей, а этих матчей, например, всего 4? Тогда сюда автоматически приплетается ненужный пятый матч, и получается такой результат:

WfJtIcBM, Минай 1-4 Шахтер Донецк. Премьер-лига
SUtwBYXd, Минай 1-1 Шахтер Донецк. Премьер-лига
8YBq0qcK, Минай 0-4 Шахтер Донецк. Премьер-лига
ETP2FtyF, Шахтер Донецк 5-1 Минай. Премьер-лига
8bHHgxoe, Шахтер Донецк 2-0 Рух Львов. Премьер-лига

Как это можно исправить? Надо чтоб выводилось столько матчей, сколько их на самом деле - 5 личных встреч выводится, а если этих 5 очных встреч в чемпионате нет, а их: 4, 3, 2, 1, 0? Нужен такой результат если всего 4 очных матча сыграно:

WfJtIcBM, Минай 1-4 Шахтер Донецк. Премьер-лига
SUtwBYXd, Минай 1-1 Шахтер Донецк. Премьер-лига
8YBq0qcK, Минай 0-4 Шахтер Донецк. Премьер-лига
ETP2FtyF, Шахтер Донецк 5-1 Минай. Премьер-лига

Сам код:

counter = 0
for item in data:
    if counter == 5:
        break
    match_id = item.split("¬KP÷")[1].split("¬KF÷")[0]
    tournament = item.split("¬KF÷")[1].split("¬AC÷")[0]
    home_team = item.split("¬FH÷")[1].split("¬FJ÷")[0].replace("*", "")
    away_team = item.split("¬KK÷")[1].split("¬FK÷")[0].replace("*", "")
    score = item.split("¬KL÷")[1].split("¬KU÷")[0].replace(":", "-")
    exceptions = ["товарищеские", "Лига чемпионов", "Лига Европы", "Лига конференций", "Кубок", "Суперкубок", "Клубный чемпионат мира"]
    if any(item in tournament for item in exceptions):
        continue
    else:
        print(f"{match_id}, {home_team} {score} {away_team}. {tournament}")
        counter +=1

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