Seite 1 von 2
Verfasst: Donnerstag 6. August 2009, 14:22
von DasIch
HerrHagen hat geschrieben:Ich nehm mal an du hast tuple mit listen verglichen. Deren Vergleich endet jedoch immer negativ (ein tuple ist nunmal keine Liste). Unabhängig ob ein ANY enthalten ist.
Die Aussage mag stimmen trotzdem vergleichst du hier eine Liste mit einer Zahl

Verfasst: Donnerstag 6. August 2009, 14:25
von 4bit
keine ahnung wen oder was dasich meint.
Verfasst: Donnerstag 6. August 2009, 14:28
von HWK
Ein Tupel würde so aussehen:
MfG
HWK
Verfasst: Donnerstag 6. August 2009, 14:34
von HerrHagen
@4bit: Die String Methode für den Gleichheitstest gibt nicht False sondern NotImplemented zurück.
Das veranlasst Python dazu, bei der anderen Seite Nachzuschauen:
Dort kommt ein verwertbares Ergebnis raus, was Python dazu veranlasst dieses zurückzugeben.
Verfasst: Donnerstag 6. August 2009, 14:34
von 4bit
stimmt. wie seltsam.
Code: Alles auswählen
>>> type((3))
<type 'int'>
>>> type((3,))
<type 'tuple'>
>>>
Verfasst: Donnerstag 6. August 2009, 14:38
von 4bit
@herrhagen
ahso, dann besteht der konflikt nicht. und zweimal notimplemented ist gleich false:
Code: Alles auswählen
>>> [2].__eq__("hi")
NotImplemented
>>> "jo".__eq__([2])
NotImplemented
Verfasst: Donnerstag 6. August 2009, 14:48
von DasIch
4bit hat geschrieben:stimmt. wie seltsam.
Das ist nicht seltsam. Das wäre seltsam:
Verfasst: Donnerstag 6. August 2009, 14:49
von EyDu
4bit hat geschrieben:ahso, dann besteht der konflikt nicht. und zweimal notimplemented ist gleich false:
Nein, vorher werden noch die IDs verglichen:
Code: Alles auswählen
>>> class Spam(object):
... pass
...
>>> Spam() == Spam()
False
>>> s = Spam()
>>> s == s
True
4bit hat geschrieben:stimmt. wie seltsam.
Was soll hier jetzt seltsam sein? Irgendwie muss man die Mehrdeutigkeit von "Wert in Klammern" und "Tupel mit einem Element" auflösen.
Verfasst: Donnerstag 6. August 2009, 15:13
von 4bit
hatte an die andere bedeutung der klammern nicht gedacht und beides als tupel gelesen.
Verfasst: Donnerstag 6. August 2009, 15:22
von BlackJack
Welche andere Bedeutung von Klammern? Der einzige seltsame Fall ist ``()``, weil das die einzigen Klammern sind, die ein Tupel erzeugen. Alle anderen Tupel werden durch die *Kommata* erzeugt!