zoukankan      html  css  js  c++  java
  • python -- itools.functoolz,itoolz.dicttoolz

    2019.9.26:

    学习内容:functoolz、dicttoolz


     二、functoolz:

    1、pipe(data, *funcs):

      pipe(data,f,g,h) 等价于 h(g(f(data)))

      类似于UNIX的管道一样。

    2、juxt(*funcs)(data):

      接受几个函数并返回一个元组,保存data分别在这几个函数的结果。方便多个函数的比较。

      

    3、do(func, x):

      用于记录进入func的输入,返回列表。

    4、curry(*args, **kwargs):

      两种用法,可以作为装饰器,在函数定义时声明。目的是允许这个函数可以不用一次性传入全部参数。类似于偏函数使用

    5、flip(func, para):

      针对内置函数的curry

    6、excepts(exc, func, handler = <function return_none>):

      用于捕获一场并分派给处理程序。就是一个function的try / except块 

      例如: list.index(a) 方法是给a返回在list的位置,如果没有就发起一个异常。


    三、dicttoolz:

    1、merge(*dicts, **kwargs):

      合并两个字典,重复key的以右边字典为准,超好用~

    2、merge_with(func,*dicts, **kwargs):

      重复key会按照func规则进行value的处理 

    3、valmap(func,d, factory = <type='dict'>):

      对字典的value做map映射。

    4、keymap(func,d, factory = <type='dict'>):

      对字典的key做map映射。

    5、itemmap(func,d, factory = <type='dict'>):

      对字典的key和value做映射,通常为reverse翻转键值。

     

    7、valfilter(func,d, factory = <type='dict'>):

      对value按func规则做过滤。

    8、keyfilter(func,d, factory = <type='dict'>):

      对key按func规则做过滤。

    9、keyfilter(func,d, factory = <type='dict'>):

      同时对key和value按func规则做过滤。

    10、assoc(dict,key,value, factory = <type='dict'>):

      原字典不变,返回的是新字典。给出的key如果dict有,则赋予新value,无则新增键值对

    11、dissoc(dict,*key):

      返回一个删除了给定key的新字典。原字典不动。

  • 相关阅读:
    Code Forces 650 C Table Compression(并查集)
    Code Forces 645B Mischievous Mess Makers
    POJ 3735 Training little cats(矩阵快速幂)
    POJ 3233 Matrix Power Series(矩阵快速幂)
    PAT 1026 Table Tennis (30)
    ZOJ 3609 Modular Inverse
    Java实现 LeetCode 746 使用最小花费爬楼梯(递推)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
  • 原文地址:https://www.cnblogs.com/marvintang1001/p/11589966.html
Copyright © 2011-2022 走看看