Bitte beachten Sie folgende Unterschiede:

Anonyme Funktionen

In Python sind Funktionen ganz normale Objekte, die z.B. als Parameter einer Funktion übergeben werden können. Das nutzen auch einige mathGUIde-Funktionen, so z.B. sum:

def square(n):
    return n*n
print(sum(1,10, square)) # Summe der Quadrate von 1 bis 10

Hier wird die Funktion square nur für die Übergabe an die sum-Funktion definiert.
In solchen Fällen ist es einfacher, eine anonyme Funktion direkt einzusetzen.
Die Definition einer anonymen Funktion beginnt mit dem Schlüsselwort lambda. Danach folgen – durch Komma getrennt – die Parameter (im Beispiel nur einer) und dann nach einem Doppelpunkt der Funktionswert.

print(sum(1,10, lambda n: n*n)) # Summe der Quadrate von 1 bis 10

Listen und List Comprehensions

Listen, Iteratoren, for-Schleifen

Eine Liste ist in Python eine endliche Reihe von beliebigen Objekten. Diese können einfach in eckigen Klammern aufgezählt werden. Es folgen einige Beispiele:

polymorpheListe = ["a", 2, [3]]
quadratzahlen = [1,4,9,16,25]
for n in quadratzahlen:
    print(n)

Einfache Zahlenfolgen kann man mit der mathGUIde-Funktion fromTo generieren:

# Iteratorfunktion:
print(fromTo(1,10))

# Verwendung der Iteratorfunktion:
l = []
for i in fromTo(1,10):
    l.append(i)
print(l)

# Oder einfacher:
print(list(fromTo(1,10)))

Bearbeitung von Listen

l = [2,4,6]
l.append(8)        # Element am Ende einfügen
print(l)
l.insert(1,3)      # Element an beliebiger Stelle einfügen
print(l)
del l[1]           # Element an beliebiger Stelle löschen
print(l)
print(l + [10,11]) # Listen verketten

List Comprehensions

Oft werden Zahlenlisten benötigt, die zwar nach einem einfachen Gesetz aufgebaut sind, aber nicht direkt mit der Funktion fromTo erzeugt werden können. Wie kann man z.B. eine Liste der ersten hundert Quadratzahlen erzeugen?

Eine mathematische Schreibweise für die entsprechende Menge wäre

A = \{ n^2 | n \in \{ 1, 2, \ldots, 10 \}\}

Python erlaubt genau diese Schreibweise („List Comprehensions“) für Listen:

A = [n^2 for n in fromTo(1,10)]

Sogar eine Einschränkung mit bestimmten Bedingungen ist in Python ebenso wie in der Mengenschreibweise möglich:

A = \{ n^2 | n \in \{ 1, 2, \ldots, 100 \}, n \textrm{ ist Primzahl}\}

schreibt sich in mathGUIde so:

A = [n^2 for n in fromTo(1,100) if isPrime(n)]

Oft ist es nötig, riesige Listen zu durchlaufen. Würde man vor dem Durchlauf die komplette Liste aufbauen, wäre das sehr ineffizient und könnte zu Speicherproblemen führen.
Deshalb werden List Comprehensions nicht als fertige Listen aufgebaut, sondern als Iteratoren, die über for-Schleifen durchlaufen werden können.

Auch die mathGUIde-Funktion fromTo liefert keine fertige Liste sondern ein iterierbares Objekt.

Mehr über Python

Eine ausführliche Einführung in Python finden Sie im Python Tutorial.