İstenilen sayıda liste üretip hepsini bir öğeden başka aynı öğe olmayan tek listede birleştirmek

Kendi başlangıç seviyeme göre kendimi zorlamak adına bu başlangıç programını yazmaya karar
verdim.Program generate adlı bir modulden ve modulu içe aktardığım ana programdan oluşuyor.
modul programı:
class generate():
def init(self):
self.liste=[]
self.seçim=""
self.choice()

    def choice(self):
        print("""
                 Sayı girmek için:  1
                 Metin girmek için: 2
                 Çıkış için:        q
                                     """)
        self.seçim=input("Lütfen seçiminizi giriniz:\t")
        if not self.seçim=="1" and not self.seçim=="2":
            if self.seçim=="q":
                print("Çıkılıyor...")
                return
            print("Sadece 1,2 ve q seçenekleri")
            self.choice()
        #print(self.seçim)
        elif self.seçim=="1":
            self.sayı_gir()
        elif self.seçim=="2":
            self.metin_gir()
#başka veri tipleri girmek için tuple vss buraya choice() ekleme yapabiliriz
#elif self.seçim=="3": self.tuple_gir() gibi
    def sayı_gir(self):
        self.sayı=input("Lütfen Sayıyı Girin")
        if not self.sayı:
            print("Boş karakter girmeyin")
            self.choice()
        elif not self.sayı.isnumeric():
            print("Sadece sayı")
            self.choice()
        self.sayı=int(self.sayı)
        self.liste.append(self.sayı)
        a=input("Tekrar veri eklemek ister misiniz?e/h")
        a=a.lower()
        if a=="e":
            self.choice()
        elif a=="h":
            return
        else:
            self.choice() #e,h harfi dışında
    def metin_gir(self):
        self.metin=input("Lütfen metni girin")
        if not self.metin:
            print("Boş karakter girmeyin")
            self.choice()
        self.liste.append(self.metin)
        b=input("Tekrar veri eklemek ister misiniz?e/h")
        b=b.lower()
        if b=="e":
            self.choice()
        elif b=="h":
            return
        else:
            self.choice() #e,h harfi dışında    
        
if __name__=="__main__":
    generate().liste
else:
    print("Modül içe aktarıldı")
#sınıfın ana kemiği choice(self),girintilere dikkat!!!girinti hizalarında
#yapılan işlemlere bak!!!
#import generate as gn
#a=gn.generate()
#b=gn.generate()
#c=gn.generate()
#a_list=a.liste
#b_list=b.liste
#c_list=c.liste
#Başka bir programda generate.py modül olarak içe aktardıktan sonra
#a=gn.generate() örneklendirip(instantiation) sonra a_list=a.liste
#liste adlı örnek niteliğini(instance attribute) değişkene atıyoruz.
#sınıfta bir örnekleme alıp liste değerini değişkene atadıktan sonra
#b=gn.generate() ikinci kez aynı işlemi yapmak için sınıfın quit ile
#tamamen programı kapatmasını değil ikinci örneklemeyi alabilmek için
#return kullanıp bağlı olduğu fonksiyondaki alt satırları işletmeyerek
#programı tamamen kapatmadan b=gn.generate() işlemine modül olarak çağrılan
#programda devam edebiliyoruz.

kodları alıntı yaparken ilk 5 kodu forum girinti yapamadığından dolayı girintiyi siz koyabilirsiniz.
kusura bakmayın.
asıl program ise
import generate as gn
#a=gn.generate()
#b=gn.generate()
#c=gn.generate()
#a_list=a.liste
#b_list=b.liste
#c_list=c.liste
vr={}
try:
x=int(input(“Kaç adet liste gireceksiniz?”))
except ValueError as hata:
print(“Sadece sayı”)
print(hata)
for num in range(0,x):
vr[“a”+str(num)]=gn.generate().liste
print(vr) #kontrol için
listee=list(vr.values())
print(listee) #kontrol için

def unique_list(*args):
    print(args) #kontrol için
    return list(set().union(*args))
print(unique_list(*listee))
#print(unique_list(a_list,b_list,c_list))

for num in range(0,x):
vr[“a”+str(num)]=gn.generate().liste girintisi düzeltilcek