2 Stimmen

Warum werden Python-Objekte unterschiedlicher Typen nach Typnamen sortiert?

Von Python-Dokumenten: http://docs.python.org/library/stdtypes.html#comparisons

Implementierungshinweis: Objekte verschiedener Typen außer Zahlen werden nach ihren Typnamen geordnet; Objekte derselben Typen, die keine ordnungsgemäße Vergleiche unterstützen, werden nach ihrer Adresse geordnet.

Gibt es einen Grund, dies zu tun, anstatt eine Ausnahme auszulösen?

5voto

Ali Afshar Punkte 39615

Circa vier Linien über der von Ihnen zitierten Zeile:

Objekte unterschiedlicher Typen, außer unterschiedlichen numerischen Typen und unterschiedlichen Zeichenfolgentypen, werden niemals gleich verglichen; solche Objekte sind konsistent, aber willkürlich geordnet (so dass das Sortieren eines heterogenen Arrays ein konsistentes Ergebnis ergibt).

Sie möchten keine Ausnahmen auslösen, wenn Sie eine Liste von unterschiedlich typisierten Objekten sortieren.

1voto

Es kann nützlich sein, Objekte verschiedener Typen in einer einzigen, sortierten Liste in einer klaren Reihenfolge zu sammeln. Durch die Vergabe einer stabilen Sortierreihenfolge für alle Objekte ist dieses Verhalten standardmäßig gegeben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X