For döngüleriyle işi olabildiğince karmaşıklaştırmaya gerek yok, bu işlem için kütüphane de gereksiz kaçabilir ve set(a) - set(b) işleminde de bazı görünmez hatalar meydana gelebilir. Örneğin a = ['1', '2'], b = ['1', '2', '3'] olsun. Bu durumda bize 3 vermesini beklerken boş çıktı verecektir çünkü a'dan b'yi çıkarıyor ve a'da hiç eleman kalmıyor. Bence en basit çözüm:
a = ['1', '2']
b = ['1', '2', '3']

print(list(set(a) ^ set(b)))