当前位置 : 主页 > 编程语言 > java >

Python中的重要函数 - (lambda reduce map filter)

来源:互联网 收集:自由互联 发布时间:2022-06-23
- lambda lambda是一个函数类型的表达式! lambda [arg1 [,arg2,…argn]]:expression returnSum = lambda *item : sum(list(item)) returnSum(1,2,3,4,5,6,7,8,9,10) 55 type(returnSum) class 'function' mergeChar = lambda *item : ''.join(i

- lambda

  • lambda是一个函数类型的表达式!
  • lambda [arg1 [,arg2,…argn]]:expression
  • >>> returnSum = lambda *item : sum(list(item))
    >>> returnSum(1,2,3,4,5,6,7,8,9,10)
    55
    >>> type(returnSum)
    <class 'function'>

    >>> mergeChar = lambda *item : ''.join(item)
    >>> mergeChar('a', 'b', 'c')
    'abc'

    - reduce
    ​​​菜鸟教程 Python reduce() 函数​​

  • 对序列进行某种规则的迭代运算
  • reduce(function, iterable[, initializer])
  • from functools import reduce
  • 返回数值
  • >>> from functools import reduce
    >>> def multi(a, b):
    return a*b

    >>> reduce(multi, [1,2,3,4])
    24

    - map
    ​​​菜鸟教程 Python map() 函数​​

  • 对于迭代对象中每个数字单独进行函数处理
  • map(function, iterable, …)
  • Python 2.x 返回列表。
  • Python 3.x 返回迭代器。
  • 返回一些关于序列其它有意义的信息。
  • 下属代码反映了:字符串为迭代类型以及访问迭代类型的方法。

    >>> for i in map(lambda s: 100 if s.find('s') != -1 else -100, 'qwersg'):
    print(i)


    -100
    -100
    -100
    -100
    100
    -100

    - filter
    ​​​菜鸟教程 Python filter() 函数​​

  • 过滤本迭代对象
  • filter(function, iterable)
  • Pyhton2.7 返回列表
  • Python3.x 返回迭代器对象
  • >>> def is_odd(n):
    return n % 2 == 1

    >>> for i in (filter(is_odd, [1,2,3,4,5,6,7,8,9,10])):
    print(i)


    1
    3
    5
    7
    9


    上一篇:魔数?
    下一篇:没有了
    网友评论