(funcs)
| 429 | |
| 430 | |
| 431 | def chain(funcs): |
| 432 | if funcs is None or not len(funcs): |
| 433 | return lambda x: x |
| 434 | |
| 435 | def f(*args, **kwargs): |
| 436 | res = funcs[0](*args, **kwargs) |
| 437 | for func in funcs[1:]: |
| 438 | res = func(res) |
| 439 | |
| 440 | return f |
| 441 | |
| 442 | |
| 443 | def subdict(d, keys): |