Najprostsze, co przychodzi mi do głowy:
countries = ['Polska', 'Francja', 'Niemcy', 'Belgia', 'Austria', 'Ukraina']
for index, country in enumerate(countries):
for opponent in countries[index + 1:]:
print(f'{country} - {opponent}')
Zewnętrzna pętla iteruje się po kolei po wszystkich krajach, wewnętrzna tylko po tych, które mają wyższy indeks w tablicy. Dzięki temu zapewniamy unikalność :)
Możesz też skorzystać z biblioteki itertools. Rozwiązanie będzie jeszcze krótsze:
import itertools
countries = ['Polska', 'Francja', 'Niemcy', 'Belgia', 'Austria', 'Ukraina']
for country, opponent in itertools.combinations(countries, 2):
print(f'{country} - {opponent}')
Funkcja itertools.combinations generuje wszystkie kombinacje bez powtórzeń (https://pl.wikipedia.org/wiki/Kombinacja_bez_powt%C3%B3rze%C5%84) o zadanym rozmiarze, czyli dobiera w pary (trójki, czwórki itp. - zależnie od potrzeb) elementy czegoś iterowalnego (w tym przypadku listy).
Mam nadzieję, że o to Ci chodziło. Jeśli nie, to śmiało mów, a pomyślimy co z tym dalej zrobić.