Seite 1 von 1

quiz thread

Verfasst: Sonntag 2. September 2007, 14:07
von Costi
wie waers mit ein paar raetsel......

ich fang schonmal an:
wie kommt man zu folgenden ergebniss?

Code: Alles auswählen

>>> x[0][0][0][0] == x
True

Verfasst: Sonntag 2. September 2007, 14:34
von penguin-p

Code: Alles auswählen

>>> x = []
>>> x.append(x)
>>> x
[[...]]
>>> x[0][0][0][0] == x
True
so :D

Verfasst: Mittwoch 12. September 2007, 00:30
von zerghase
Gibt es da ne doc dazu? Oder noch mehr solcher lustigen Ausnahmen bei Listen? Ich find dazu leider nichts )=
Und... was ist der praktische Nutzen davon? Mir fällt gerade nichts ein (was vielleicht auch am Schlafmangel liegt ;) )

Ich freue mich auf geistreiche Antworten

PS:
Hab noch ein bisschen rumprobiert... das scheint ja keine Grenzen zu haben ^^ ausser dass man [...] nicht selbst benutzen kann

Code: Alles auswählen

>>> x=[1]
>>> x.append(x)
>>> x
[1, [...]]
>>> x[0]
1
>>> x[1]
[1, [...]]
>>> x=[1,2,3]
>>> y=[4,x,5]
>>> x.append(y)
>>> x
[1, 2, 3, [4, [...], 5]]
>>> y
[4, [1, 2, 3, [...]], 5]
>>> y[1]
[1, 2, 3, [4, [...], 5]]
>>> x=[1,2,[...]]
  File "<stdin>", line 1
    x=[1,2,[...]]
            ^
SyntaxError: invalid syntax

Verfasst: Mittwoch 12. September 2007, 00:56
von penguin-p
zerghase hat geschrieben:Und... was ist der praktische Nutzen davon?
Ein konkreter Nutzen fällt mir gerade auch nicht ein aber andererseits ... warum sollte soetwas verboten werden. Ich meine, die Elemente einer Liste sind eh nur Referenzen auf bestimmte Instanzen, wieso also nicht auch eine Referenz auf die Liste selbst.
Es ist halt ein Spezialfall, der nur bei der Ausgabe zu Problemen führen könnte. Also hat man sich, denke ich, überlegt, was sinnvoller wäre: Selbstreferenzierung zu verbieten (inkonsequent) oder die Ausgabe in einem solchen Fall eben durch ein Auslassungszeichen (...) abzukürzen.

Aber vielleicht gibt es ja doch gute Gründe ;)

Verfasst: Mittwoch 12. September 2007, 08:13
von BlackJack
Das ist kein Ausnahme bei Listen sondern ganz normal konsequentes Verhalten.

Praktischer Nutzen: Man kann beliebige Graphen auf Listen abbilden. Für die Leute die Angst vor Klassen haben. :-)

Verfasst: Mittwoch 12. September 2007, 13:18
von Leonidas
BlackJack hat geschrieben:Für die Leute die Angst vor Klassen haben. :-)
Ich glaube ich hätte da schon mehr Angst von selbstreferenzierenden Listen.