quiz thread

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Costi
User
Beiträge: 544
Registriert: Donnerstag 17. August 2006, 14:21

Sonntag 2. September 2007, 14:07

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
cp != mv
Benutzeravatar
penguin-p
User
Beiträge: 22
Registriert: Sonntag 19. August 2007, 13:47

Sonntag 2. September 2007, 14:34

Code: Alles auswählen

>>> x = []
>>> x.append(x)
>>> x
[[...]]
>>> x[0][0][0][0] == x
True
so :D
zerghase
User
Beiträge: 15
Registriert: Samstag 19. November 2005, 21:15
Wohnort: München

Mittwoch 12. September 2007, 00:30

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
Benutzeravatar
penguin-p
User
Beiträge: 22
Registriert: Sonntag 19. August 2007, 13:47

Mittwoch 12. September 2007, 00:56

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 ;)
BlackJack

Mittwoch 12. September 2007, 08:13

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. :-)
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Mittwoch 12. September 2007, 13:18

BlackJack hat geschrieben:Für die Leute die Angst vor Klassen haben. :-)
Ich glaube ich hätte da schon mehr Angst von selbstreferenzierenden Listen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Antworten