In Python findet man eher selten Funktionen, die eine bestehende Datenstruktur ändern. Vor allem nicht, wenn das bloße Ändern deren einziger Zweck ist. Das erinnert dann eher an Funktionen vom Rückgabetyp
void in C, die Veränderungen an einem
struct vornehmen.
Wenn ich beispielsweise eine Liste mit Namen habe und alle Namen sollen großgeschrieben werden, dann geht das in Python so:
Code: Alles auswählen
def get_upper(names):
upper_names = []
for name in names:
upper_names.append(name.upper())
return upper_names
Also die Erzeugung einer neuen Liste und deren Rückgabe. Die ursprüngliche Liste bleibt dabei in ihrer Originalform erhalten.
Zur Vereinfachung gibt es in Python das Konzept der sogenannten List Comprehensions. Das sieht erstmal ein bißchen komplizierter aus, vereinfacht aber vieles. Man sollte sich das als Anfänger IMHO auch schnell aneignen. Die Funktion sähe dann so aus:
Code: Alles auswählen
def get_upper(names):
return [name.upper() for name in names]
Die Struktur ist grob gesagt: Tu was mit X für alle X in Y.
Und falls diese Funktionen dann nur noch aus diesem Einzeiler besteht, dann kann man es natürlich auch direkt hinschreiben:
Und das ist halt das Schöne an Python, dass solche Dinge echt super-kompakt programmierbar sind...