zoukankan      html  css  js  c++  java
  • sum,filter和map参数里面的玄机

    首先是sum函数.

    最常见的用法似乎是:

    >>> sum([1,2,3])
    6

    但其实这是默认首个元素是数字0.我们可以指定其他数字:

    >>> sum([1,2,3],100)
    106

    也可指定一个列表对象:

    >>> sum([[1],[2],[3]],[])
    [1, 2, 3]
    
    >>> sum([[1],[2],[3]],['head'])
    ['head', 1, 2, 3]

    来看filter,None参数特别用法:

    >>> filter(None,(1,2,None,3))
    (1, 2, 3)
    >>> filter(lambda x:x,(1,2,None,3))
    (1, 2, 3)

    map也有类似设置:

    >>> map(None,range(3),range(3))
    [(0, 0), (1, 1), (2, 2)]
    >>> map(lambda x,y:(x,y),range(3),range(3))
    [(0, 0), (1, 1), (2, 2)]

    字符串也能使用+运算符啊.不过当你想用sum来合并字符时,会被贴心地提示:

    >>> sum(['a','b','c'],'')
    
    Traceback (most recent call last):
      File "<pyshell#13>", line 1, in <module>
        sum(['a','b','c'],'')
    TypeError: sum() can't sum strings [use ''.join(seq) instead]
  • 相关阅读:
    异常
    带参数的方法
    变量,基本类型,数据类型和运算符
    数据类型转换(针对数字类型)
    this关键字
    面向对象DAO模式
    常见类 Object
    方法和包
    final关键字
    abstract关键字
  • 原文地址:https://www.cnblogs.com/xiangnan/p/3391345.html
Copyright © 2011-2022 走看看