@xocy: Nimm einfach wie gezeigt eine ``for``-Schleife und `range()` oder überlege Dir ein wenigstens ansatzweise sinnvolles Beispiel. Sonst lernt man nicht wie man es richtig macht.
Was an sich schon mal nicht sinnvoll ist, oder nur in wirklich seltenen Fällen, ist der Vergleich von so unterschiedlichen Typen mittels ``<`` & Co. Wo man dann übrigens eigentlich auch wirklich alle Operatoren haben möchte, denn wenn ``a <= b`` funktioniert, erwartet der Leser das auch ``<``, ``>``, ``>=``, ``==``, und ``!=`` konsistent dazu funktionieren. Und wenn man ``==`` implementiert, sollte man auch `__hash__()` implementieren, um den nächsten unliebsamen Überraschungen entgegen treten zu können. Und wenn einem das für den Anfang alles noch zu kompliziert ist: Einfach erst einmal anderes lernen. Das man die Vergleichsoperatoren überladen will, kommt gar nicht so oft vor. Wenn dann in der Regel auch nur bei Werttypen und nicht bei Objekten mit veränderlichem Zustand. Und wenn Objekte mit veränderlichem Zustand, dann sind die relativen Vergleichsoperatoren in der Regel nur auf einer unveränderlichen Untermenge des Zustands definiert. Also so wirklich gar nicht was *hier* versucht wird. Wenn das wirklich mal Sinn macht, dann kann man sich damit einmal auseinandersetzen — und dann das `attrs`-Package verwenden um (auch) solche Klassen zu schreiben, so dass man sich damit nie wieder beschäftigen muss.