Toolz - Python 函数式编程工具箱


BSD
跨平台
Python

软件简介

Toolz 是 Python 的函数式编程工具箱。Toolz 支持 Python 2.6+ 和 Python 3.3+。

Toolz 的实现包括三部分:

  • itertoolz,for operations on iterables. 例如:groupby,unique, interpose,

  • functoolz, for higher-order functions. 例如:memoize,curry, compose

  • dicttoolz, for operations on dictionaries. 例如:assoc,update-in, merge.

示例:

>>> def stem(word):
...     """ Stem word to primitive form """
...     return word.lower().rstrip(",.!:;'-\"").lstrip("'\"")
>>> from toolz import compose, frequencies, partial
>>> wordcount = compose(frequencies, partial(map, stem), str.split)
>>> sentence = "This cat jumped over this other cat!"
>>> wordcount(sentence)
{'this': 2, 'cat': 2, 'jumped': 1, 'over': 1, 'other': 1}