美文网首页
python高级函数

python高级函数

作者: gpfworld | 来源:发表于2019-08-17 14:42 被阅读0次

高级特性

1、集合推到式

列表推导式 语法:[exp for item in collection if codition]

字典推导式 语法:{key_exp:value_exp for item in collection if codition}

集合推导式 语法:{exp for item in collection if codition}

嵌套列表推导式

前面的式外层循环,后面的式内层循环

result = []
for elem in vec:
    for num in elem:
       result.append(num)
等价于:
result = [ num for v in vec for num in v ]

2、多函数模式

可以向一个函数中,传入一系列的函数,对于输入的数据进行处理。将所有的函数放入一个列表中。

# 处理字符串
str_lst = ['$1.123', '  $1123.454', '$899.12312']
 
def remove_space(str):
    """
    remove space
    """
    str_no_space = str.replace(' ', '')
    return str_no_space
 
def remove_dollar(str):
    """
    remove $
    """
    if '$' in str:
        return str.replace('$', '')
    else:
        return str
 
def clean_str_lst(str_lst, operations):
    """
        clean string list
    """
    result = []
    for item in str_lst:
        for op in operations:
            item = op(item)
        result.append(item)
    return result
 
clean_operations = [remove_space, remove_dollar]
result = clean_str_lst(str_lst, clean_operations)
print result

3、高级函数

1、函数式编程

(1)函数本身可以赋值给变量,赋值后变量为函数;

(2)允许将函数本身作为参数传入另一个函数;

(3)允许返回一个函数。

2、map/reducde 函数

(1)map(fun, lst),将传入的函数变量func作用到lst变量的每个元素中,并将结果组成新的列表返回

(2)reduce(func(x,y),lst),其中func必须有两个参数。每次func计算的结果继续和序列的下一个元素做累积计算。

  lst = [a1, a2 ,a3, ......, an]

  reduce(func(x,y), lst) = func(func(func(a1, a2), a3), ......, an)

3、filter

filter(func, lst),将func作用于lst的每个元素,然后根据返回值是True或False判断是保留还是丢弃该元素。

注:优先使用列表推导,代码简单易懂。不需要编写另外的函数。比如匿名函数

相关文章

  • Python入门

    Python3教程 安装Python 第一个Python程序 Python基础 函数 高级特性 函数式编程 模块 ...

  • Python的高级函数

    Python的高级函数 1. map函数 map(func, *itertables) 对itertables中...

  • python--函数

    python是面向对象的高级语言,函数是高级语言所必须的,所以,来看看函数。函数的定义: 其中:pass是表示不执...

  • 10、Python入门____语法入门(三)

    正文 1、函数 基本上所有的高级语言都支持函数,Python也不例外。Python不但能非常灵活地定义函数,而且本...

  • Python高级函数

    map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此...

  • python高级函数

    1.map()函数 格式:map(func, iter) 说明:1.接收两个参数:一个函数和一个可迭代对象 2...

  • python函数高级

    函数是Python内建支持的一种封装,通过把大段代码拆成函数,就可以把复杂任务分解成简单的任务,这种分解可以称之为...

  • python高级函数

    高级特性 1、集合推到式 列表推导式 语法:[exp for item in collection if c...

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • Python实用教程系列——推导式和Lambda表达式

    上次推文我们一起学习了python中的高级函数——Python实用教程系列——高阶函数Map、Filter、Red...

网友评论

      本文标题:python高级函数

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