Plus concrètement :
def my_map(fn, li): res = [] for elem in li: res.append(fn(elem)) return res
Exemple :
>>> map(float, [1, 2, 3]) [1.0, 2.0, 3.0]
def my_filter(fn, li): res = [] for elem in li: if fn(elem): res.append(elem) return res
Exemple :
>>> filter(str.isdigit, ["bonjour", "1", "45", "a"]) ["1", "45"]
def my_reduce(fn, li): res = li[0] for elem in li[1:]: res = fn(res, elem) return res
Exemple :
>>> def my_add(a, b): return a + b >>> reduce(my_add, [1, 2, 3]) 6
L'opérateur lambda permet de définir des fonctions à la volée, sans leur donner de nom. Par exemple :
>>> map(lambda x: x+1, [1, 2, 3]) [2, 3, 4]
Les deux codes suivants sont équivalents :
mult = lambda x, y: x * y
def mult(x, y): return x * y
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |