lehrkraefte:blc:informatik:glf20:programmieren:listen2kw

This is an old revision of the document!


Listen (Arrays)

Eine Liste (auch Array genannt) ist eine geordnete Zusammenfassung von Werten, die auch in einer Variablen gespeichert werden könnte. Auf die Werte kann mit eckigen Klammern [Index] zugegriffen werden, wobei der Index von $0$ bis $n-1$ geht, mit $n$ gleich der Anzahl Elemente.

Die Variablen, die Listen enthalten, sollten einen Namen im Plural erhalten, wie z.B. namen, gewichte, noten, etc.

Kopieren, testen, verstehen und verändern Sie folgendes Programm:

namen = ["Null", "Eins", "Zwei"]
print("namen[2] ist ")
print(namen[2])
 
anzahl = len(namen)
print("name hat %d Elemente" % anzahl)

Die wichtigsten Dinge für Arrays zusammengefasst:

  • a=[wert1, wert2,…] # Initialisierung mit gegebenen Werten (Zahlen, Strings oder sogar weitere Listen)
  • a[3] # Zugriff auf das vierte Element. Das erste Element ist a[0].
  • len(a) # Anzahl Elemente in einer Liste
  • a.append(42) # Neues Element hinten anhängen und die Liste damit verlängern.

Typischerweise werden die Elemente einer Liste in einem for-loop verarbeitet. Testen und verstehen Sie folgende Beispiele:

namen = ["Null", "Eins", "Zwei"]
for i in range(len(namen)):
  print("name[%d] = %s" % (i,name[i]))

Wird der index des Elements nicht gebraucht, bietet sich folgende Abkürzung an:

klasse = ["Albert", "Berta", "Chloe"]
for sus in klasse:
  print("Hier ist " + sus)

Sind die Elemente und der Index nötig, bietet sich folgende Abkürzung mit enumerate an:

klasse = ["Albert", "Berta", "Chloe"]
for i,sus in enumerate(klasse):
  print("Index %d ist %s" % (i,sus))

Die Erzeugung von Arrays kann ebenfalls in einem for-loop stattfinden. Testen und verstehen Sie folgende Beispiele:

quadrate = []   # Leere Liste
for i in range(10):
  quadrate.append(i*i)   # Neues Element hinten anfügen
print("Das Quadrat von 5 ist %d" % quadrate[5])
print("Und jetzt noch die ganze Liste:")
print(quadrate)

Ist die Initialisierung sehr einfach (d.h. das Element kann in einem Ausdruck aus dem Index berechnet werden), kann diese auch in einer Zeile in der folgenden Form geschrieben werden:

quadrate = [i*i for i in range(10)]
print(quadrate)
  • lehrkraefte/blc/informatik/glf20/programmieren/listen2kw.1604398055.txt.gz
  • Last modified: 2020/11/03 11:07
  • by Ivo Blöchliger