"Pickle" (gesprochen Pickel) heißt "einmachen", z.B. wie eingemachte (saure) Gurken. Pickle wird verwendet, wenn man Daten, die Python im Speicher hält, irgendwo (z.B. in einer Datei) ablegen und später verwenden möchte, so wie man Früchte einmacht und im Keller lagert und irgendwann hervorholt und aufisst. In Python gibt es zum Ablegen und wieder hervorholen das Modul pickle , aber es geht leider nicht in den Keller, sondern lagert die Daten in Dateien oder Strings (Zeichenketten).
Eine Liste kann man auf verschiedene Arten abarbeiten. Mit for geht das so:
for x in [ 1, 2, 3, 4] :
print
2 ** x
map braucht eine Funktion, die auf jedes Listenelement angewandt wird. Also:
def pow2( x ):
return
2 ** x
map( pow2, [ 1, 2, 3, 4 ] )
Tip 1: Die Liste [ 1, 2, 3, 4 ] kann man als range(1, 5) abkürzen.
Wenn die Listenelemente "aufgesammelt" werden sollen, geht das mit map natürlich nicht. Beispielsweise die Berechnung von 7! (sprich Sieben Fakultät, 7! = 1*2*3*4*5*6*7) lässt sich so nicht durchführen. Hier hilft reduce. Vergleich:
# Fakultaet mit for
def fak(n) :
r
= 1
for x in range(1,n+1)
r
= r*x
return r
# Fakulaet mit reduce
def fak(n)
:
from operator
import *
return reduce(mul, range(1,8), 1)
# Fakulaet mit Rekursion
def fak(n)
:
if n <= 1 :
return
1
else :
return
(n * fak( n -1) )
>>> print fak(7)
5040
© 2005 Michael Mendelsohn