Jen pozor, řekněme, že bys chtěl třeba hafany zkombinovat. Zkus si:
stekac = Hafani()
for p in stekac:
for q in stekac:
print(p, q)
Kokrspanel Kokrspanel
Kokrspanel Jezevcik
Kokrspanel Ovcak
Kokrspanel Kolie
Kokrspanel Husky
Pro porovnání, co udělá běžný list:
blafac = ["Kokrspanel", "Jezevcik", "Ovcak", "Kolie", "Husky"]
for p in blafac:
for q in blafac:
print(p, q)
Kokrspanel Kokrspanel
Kokrspanel Jezevcik
Kokrspanel Ovcak
Kokrspanel Kolie
Kokrspanel Husky
Jezevcik Kokrspanel
Jezevcik Jezevcik
...
Kolie Kolie
Kolie Husky
Husky Kokrspanel
Husky Jezevcik
Husky Ovcak
Husky Kolie
Husky Husky
Každé nové zavolání __iter__ ve tvém iterátoru ti self.__index__ zase resetne na 0.