python高手之路 笔记3

作者: treelake | 来源:发表于2016-08-07 14:00 被阅读95次

    限制python运行内存为128MB

    $ ulimit -v 131072
    

    a = yield x 解释

    • 调用时使用c = f.send(b);
      结果是
      c = x; a = b

    函数化

    • map; filter; enumerate; sorted; any; all; zip

    构建字典和集合

    {x:x.upper() for x in ['hello', 'world']}
    {x.upper() for x in ['hello', 'world']}

    functools.partial 替换lambda

    from functools import partial
    from first import first
    def greater_than(number, min=0):
        return number > min
    first([-1, 0, 1, 2], key=partial(greater_than, min=42))
    #或者使用内置函数
    import operator
    first([-1, 0, 1, 2], key=partial(operator.le, 0))
    

    iterltools模块中的有用函数

    • chain(*iterables) 依次迭代多个iterables但并不会构造包含所有元素的中间列表。
    • combinations(iterable, r) 从给定的iterable中生成所有长度为r的组合。
    • compress(data, selectors) 对data应用来自selectors的布尔掩码并从data中返回selectors中对应为真的元素。
    • count(start, step) 创建一个无限的值的序列,从start开始,步长为step。
    • cycle(iterable) 重复的遍历iterable中的值。
    • dropwhile(predicate, iterable) 过滤iterable中的元素,丢弃符合predicate描述的那些元素。
    • groupby(iterable, keyfunc) 根据keyfunc函数返回的结果对元素进行分组并返回一个迭代器。
    • permutations(iterable[, r]) 返回iterable中r个元素的所有组合。
    • product(*iterables) 返回iterables的笛卡尔积德可迭代对象,但不使用嵌套的for循环。
    • takewhile(predicate, iterable) 返回满足predicate条件的iterable中的元素。

    python抽象语法树

    • import ast
    • Hy

    相关文章

      网友评论

        本文标题:python高手之路 笔记3

        本文链接:https://www.haomeiwen.com/subject/crjlsttx.html