len() Problem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
PyPaiX
User
Beiträge: 10
Registriert: Dienstag 13. Oktober 2020, 00:44

Hi, ich hab ne Verständnisfrage:
wenn ich
x = "hallo"
und
y = "hi"
habe
warum kommt bei x > y False raus?
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Weil i hinter a steht im Alphabet.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
__blackjack__
User
Beiträge: 14047
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Und was hat die Frage mit dem `len()` im Betreff zu tun?
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
PyPaiX
User
Beiträge: 10
Registriert: Dienstag 13. Oktober 2020, 00:44

__blackjack__ hat geschrieben: Donnerstag 10. Dezember 2020, 22:10 Und was hat die Frage mit dem `len()` im Betreff zu tun?
Ich dachte, x > y wird die länge des strings ausgewertet.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Um die Dokumentation zu Value comparisons zu zitieren: "Strings (instances of `str`) compare lexicographically using the numerical Unicode code points (the result of the built-in function `ord()`) of their characters."
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Weil die Vergleichsoperatoren nicht die Laenge des Strings vergleichen, sondern dessen alphabetische Ordnung. Und 'a' ist kleiner 'i', also ist x > y. Wenn du die Laenge willst, musst du die auch benutzen.
Antworten