BICS
Informatik Sek II
Objektorientiertes Programmieren

Python
LFB.-Kurs
W. Arnhold
[ Übersicht | vorige Seite | nächste Seite | Ganz unten ]
Python Python - Syntax  -  Sequenzen

Sequenzen

Sequenzen sind lineare Folgen von Objekten mit einer eindeutig festgelegten Reihenfolge. Es gibt folgende Typen:

Text

Ein Text ist eine Folge von Zeichen. Er ist nicht änderbar.

Tupel

Ein Tupel ist eine (eventuell auch leere) Folge von Objekten nicht not- wendigerweise gleichen Typs. Ein Tupel ist nicht änderbar. Beispiele:
tupel1 = (1, 2, 3)
tupel2 = (1, '2.0', 3.0)
tupel3 = ('a',)     # Für ein ein-elementiges Tupel muss der Klarheit halber
                    # dem Element ein Komma folgen.
tupel4 = ()         # Dies ist ein leeres Tupel. Es darf kein Komma enthalten.

Listen

Eine Liste ist -- wie ein Tupel -- eine (eventuell auch leere) Folge von Objekten nicht notwendigerweise gleichen Typs. Listen können jedoch verändert werden und zwar können einzelne Elemente ersetzt, hinzugefügt, entfernt oder die Liste als ganzes sortiert werden. Beispiele:
liste1 = [1, 2, 3]
liste2 = [1, '2.0', 3.0]
liste3 = ['a']      # eine ein-elementige Liste
liste4 = []         # eine leere Liste
An Listen können Objekte angehängt, an einer bestimmten Stelle eingefügt, der Index des ersten Auftretens eines Elementes gesucht werden, man kann feststellen, wie oft ein Element in einer Liste vorkommt, man kann die Listenreihenfolge umdrehen sowie einzelne Elemente entfernen.

Zugriffe auf Sequenzen

Indizierung

Auf Sequenzelemente kann über einen Index zugetriffen werden. Er wird wie bei Reihungen üblich in eckige Klammern eingeschlossen. Die Nummerierung beginnt bei Null.
text = 'Emil'
print 'Das dritte Zeichen von %s ist' % text, text[2]
Dies gilt nicht nur für Textvariable:
print 'Das fünfte Zeichen von "Kaffeekanne" ist', 'Kaffeekanne'[4]
print 'Das zweite Element von %s ist' % liste2, liste2[1]
Der Zugriff ist aber auch durch eine Indizierung vom Ende aus möglich:
print 'Das letzte Element von %s ist' % (tupel2,), tupel2[-1]
print 'Das vorletzte Element von %s ist' % text, text[-2]
print

Anzahl

Die Anzahl der Elemente ist feststellbar über "len":
print 'Der Text %s hat %d Zeichen' % (text, len(text))
print 'Die Liste %s hat %d Elemente' % (liste2, len(liste2))
print 'Das Tupel %s hat %d Elemente' % (tupel4, len(tupel4))
print

Ausschnitte

Durch Angabe von zwei Indizes wird als neues Objekt eine Kopie des bezeichneten Teiles geliefert. Der Ausschnitt beginnt beim ersten Index und endet vor dem zweiten.
print '"\'Kaffeekanne\'[3:7]\" liefert', 'Kaffeekanne'[3:7]
print '"\'Kaffeekanne\'[3:-3]\" liefert', 'Kaffeekanne'[3:-3]
print '"\'Kaffeekanne\'[9:7]\" liefert', 'Kaffeekanne'[9:7]
print '"\'Kaffeekanne\'[-3:-7]\" liefert', 'Kaffeekanne'[-3:-7]
print '"\'Kaffeekanne\'[-7:-3]\" liefert', 'Kaffeekanne'[-7:-3]
print
Es kann auch einer der beiden Grenzindizes wegfallen. Dann gilt das erste bzw.das letzte Element als Grenze. Fallen beide weg, so bekommt man eine identische Kopie der Sequenz (nicht nur einen Verweis!).
print '"\'Kaffeekanne\'[:7]\" liefert', 'Kaffeekanne'[:7]
print '"\'Kaffeekanne\'[7:]\" liefert', 'Kaffeekanne'[7:]
print '"\'Kaffeekanne\'[:]\" liefert', 'Kaffeekanne'[:]
print
Der Operator "in" prüft das Enthaltensein in einer Sequenz.
if 'c' in 'Boris Becker':
    print 'drin'
if not 3 in tupel2:
    print 'nicht drin'
else:
    print 'drin'
if 3.0 not in tupel2:
    print 'nicht drin'
else:
    print 'drin'
Der Operator "+" fügt Sequenzen zusammen, der Operator "*" vervielfacht sie:
print (1, 2) + (3, 4) + 3 * (5,)
print [1, 2] + [3, 4] + [5] * 3
print 'Sto-' + 5 * 't-' + 'ern'
print
Es gibt Minumum- und Maximum-Prozeduren:
print 'Das kleinste Element aus %s ist' % liste2, min(liste2)
print 'Das größte Element aus "Kaffeekanne" ist', max('Kaffeekanne')
print

[ Übersicht | vorige Seite | nächste Seite | Ganz oben ]

©   W. Arnhold Oktober 2000