 |
|
|
funktionale Programmierung |
|
Autor: mk
16.12.2010 15:50:15 629
|
|
Listen
|
Kopf-Rest-Methode
def double(liste):
if liste == []:
return []
else:
return [liste[0]*2] + double(liste[1:])
Rekursionslimit
>>> import sys
>>> sys.getrecursionlimit()
1000
>>> sys.setrecursionlimit(10000)
>>> sys.getrecursionlimit()
10000
>>>
Aufgaben
- Schreibe eine Funktion quadrat(liste), die eine Liste zurückgibt, die
die Elemente von listequadriert enthält. Schreibe eine rekursive und eine iterative
Version. Teste deine Funktionen und vergleiche sie auch durch Messungen.
- reverse(liste)
- length(liste)
- Schreibe eine Funktion zip (Reißverschluss), die die Elemente zweier Listen
soweit möglich zu Paaren zusammenfasst.
Beispiel: zip(['a','b','c'], [1,2,3,4]) --> [('a',1),('b',2),('c',3)]
- pairs([1,2,3,4]) --> [(1,2),(2,3),(3,4)]
- sorted([1,2,4,3]) --> False, sorted([1,2,3,4]) --> True
Links