Python: Listenverständnis zum Zuweisen verschiedener Werte

7

Ich mache eine 2D-Liste und möchte sie mit einem Listenverständnis initialisieren. Ich möchte, dass es so etwas macht:

%Vor%

sollte also etwas wie:

zurückgeben %Vor%

Wie kann ich das machen?

Danke für Ihre Hilfe.

    
Nope 05.10.2009, 23:45
quelle

3 Antworten

14

Es sieht so aus, als ob Sie nach etwas ähnlichem suchen:

%Vor%

Der Bedingungsausdruck von Python unterscheidet sich ein wenig von dem, was Sie möglicherweise gewohnt sind kommen von etwas wie C oder Java:

  

Der Ausdruck x if C else y wertet zuerst C aus ( nicht x ); Wenn C wahr ist, wird x ausgewertet und sein Wert wird zurückgegeben. Andernfalls wird y ausgewertet und sein Wert wird zurückgegeben.

Ein etwas kürzerer Weg, um das Gleiche zu tun ist:

%Vor%     
Greg Hewgill 05.10.2009, 23:49
quelle
14

Gregs Antwort ist korrekt, obwohl ein viel einfacherer und schnellerer Ausdruck für das gewünschte Ergebnis wäre

%Vor%

Das heißt, denken Sie daran, dass for nicht nur auf range angewendet werden muss ;-), es gibt eine Listenmultiplikation und so weiter; -).

    
Alex Martelli 05.10.2009 23:55
quelle
1

Versuchen Sie das

%Vor%

Das zweite Mal j = 1, so dass j & lt; 1 fehlschlägt

    
Juparave 05.10.2009 23:55
quelle

Tags und Links