• 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的新字典。原字典不动。

  • 相关阅读:
    Dart中的类型转换总结:
    【Dart学习】--Dart之数组(List)的相关方法总结
    Navigator的使用:
    001——Angular环境搭建、运行项目、搭建项目
    Dart中的数据类型转换:
    Flutter中的Stack、Align、Positioned的使用
    Flutter设置图片为正方形
    顶部导航TabBar、TabBarView、DefaultTabController
    《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <二> NSMutableString
    Swift随记
  • 原文地址:https://www.cnblogs.com/marvintang1001/p/11589966.html
Copyright © 2020-2023  润新知