lehrkraefte:blc:informatik:ffprg1-2019:arrays-lists

This is an old revision of the document!


Listen vs. Arrays

Listen und Arrays sind Variablen, die mehrere Werte auf einmal enthalten. Einzelne Werte werden mit eckigen Klammern über Indizies angesprochen, die jeweils von 0 bis $n-1$ laufen (bei total $n$ Elementen).

Der unmittelbare Inhalt von Listen ist unveränderbar, bei Arrays veränderbar.

a = (0,1,4,9,16,25)  # Liste mit 6 Elementen
b = [2,3,5,7,11,17]  # Array mit 6 Elementen
 
print a[3]  # Ergibt 9, das vierte Element
print b[3]  # Ergibt 7
b[3]=77
print b[3]  # Ergibt 77
 
for i in a:    # i nimmt nacheinander die Werte 0,1,4,9,16,25 an
  print(i)
 
for i in b:    # i nimmt nacheinander die Werte 2, 3, 5, 77, 11, 17 an
  print(i)
 
a[3] = 99   # Fehler! Inhalt der Liste kann nicht veraendert werden.

Erzeugen Sie ein Array der Länge 20 so, dass das erste Element 0, das zweite 1, und jedes folgende Element die Summe der beiden vorhergehenden ist:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]
q = [i*i for i in range(11)]   # Quadratzahlen von 0 bis 100
print(q)    # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
 
w = []    # Leeres Array
for i in range(11):
  w.append(i*i*i)            # Am Schluss des Arrays ein neues Element anhängen
 
print(w)  # [0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

Ein mehrdimensionales Arrays ist einfach ein Array, das als Element wieder Arrays enthält.

  a = [[1,22],[333,4444]]
  print(a[0])   # [1, 22]
  print(a[0][0]) # 1
  print(a[1][1]) # 4444
 
  # Multiplikationstabelle, Fancy:
  tabelle = [[i*j for i in range(0,11)] for j in range(0,11)]
 
  print(tabelle[7])  # 7ner Reihe
  print(tabelle[9][6])  # 54
 
  • lehrkraefte/blc/informatik/ffprg1-2019/arrays-lists.1550585769.txt.gz
  • Last modified: 2019/02/19 15:16
  • by Ivo Blöchliger