182 Stimmen

Wie vergleicht Python 2 string und int? Warum sind Listen beim Vergleich größer als Zahlen und Tupel größer als Listen?

Der folgende Ausschnitt ist mit der Ausgabe kommentiert ( wie auf ideone.com gesehen ):

print "100" < "2"      # True
print "5" > "9"        # False

print "100" < 2        # False
print 100 < "2"        # True

print 5 > "9"          # False
print "5" > 9          # True

print [] > float('inf') # True
print () > []          # True

Kann jemand erklären, warum die Ausgabe so ist?


Einzelheiten der Durchführung

  • Wird dieses Verhalten von der Sprachspezifikation vorgeschrieben oder ist es den Implementierern überlassen?
  • Gibt es Unterschiede zwischen den wichtigsten Python-Implementierungen?
  • Gibt es Unterschiede zwischen den verschiedenen Versionen der Sprache Python?

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