[Python-de] While Schleife

Peter Otten __peter__ at web.de
Mit Apr 27 10:47:06 CEST 2005


Am Mittwoch, 27. April 2005 09:56 schrieb Dr. Werner Pessenhofer:

> Mit hardcoding meinst du wahrscheinlich:
>
> ind < 18

Genau.

> Ich würde das gerne vermeiden, da der shape des arrays differieren kann
> (je nachdem, wieviel Spektren aufgenommen werden), ich weiß allerdings
> nicht, wie ich zur aktuellen Spaltenanzahl komme.
>
> Mit
>
>   X = load('Spektren-CuP-conv.dat',comments='#')
> print shape(X)
>
> erhalte ich
>
> (911, 18)
>
> Daraus ist ersichtlich, dass das array X 18 Spalten hat, nur wie bekomme
> ich das in eine Variable, die ich benutzen kann ?

Einige Varianten:

>>> shape(X)
(911, 18)

Ein Tupel entpacken:

>>> xlen, ylen = shape(X) 
>>> ylen
18

Auf einen bestimmten Eintrag im Tupel zugreifen:

>>> ylen = shape(X)[1] # 
>>> ylen
18

Auf den letzten Eintrag im Tupel zugreifen:

>>> ylen = shape(X)[-1]
>>> ylen
18

> Beschäftige mich erst seit einigen Tagen mit python und matplotlib, daher
> bitte die naiven Fragen zu entschuldigen

Kein Problem. 

Um einen ersten Überblick über die Möglichkeiten von Python zu erhalten, lohnt 
sich aber die Lektüre des Tutorials http://docs.python.org/tut/.

Zum Beispiel schreibt man statt

index = start
while index < stop:
    # your code
   index += step

meistens

for index in range(start, stop, step):
    # your code

Peter