• map()函数 lambda函数 zip()函数的使用


    map()函数的使用介绍

    1,map是python内置函数,会根据提供的函数对指定的序列做映射。
    2,python2返回的是一个集合,python3返回的是一个map对象,需要对其进行数据类型的转换。
    map()函数的格式是:

    map(function,iterable,...)

    第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列。
    把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
    3,map()函数实例:

    del square(x):
        return x ** 2
    res = map(square,[1,2,3,4,5])
    print(res)
    # <map object at 0x0000019920738C88>
    print(list(res)) 
    # 结果:[1,4,9,16,25]
    
    • 通过使用lambda匿名函数的方法使用map()函数:
    sum = lambda x, y: x+y
    res = map(sum(x, y),[1,3,5,7,9],[2,4,6,8,10])
    # map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])
    print(list(res))
    # 结果:[3,7,11,15,19]
    
    # 通过lambda函数使返回值是一个元组:
    res = map(lambdax, y : (x**y, x+y),[2,4,6],[3,2,1])
    print(list(res))
    # 结果:[(8,5),(16,6),(6,7)]
    
    • 当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:
    res = map(None, [2,4,6],[3,2,1])
    print(list(res))
    # 结果:[(2,3),(4,2),(6,1)]
    
    • 将字符串转换为list:
    res = map(int,'1234')
    print(list(res))
    # 结果:[1,2,3,4]
    

    lambda函数

    1,语法:

    lambda 参数1, 参数2...: 语句

    2,举例

    sum = lambda x, y: x+y  # 定义匿名函数
    res = sum(2, 3)  # 调用匿名函数 执行结果由执行语句决定
    print(res) # 结果是:5
    

    zip()函数

    1, 语法:iterable -- 一个或多个迭代器;

    zip([iterable, ...])

    2,python2直接返回一个列表;在Python3中为了减少内存,返回的是一个zip对象。如需展示列表,需用list()转换。

    a = [1,2,3]
    b = [4,5,6]
    c = [4,5,6,7,8]
    res = zip(a,b)
    print(res)  # <zip object at 0x000001992073FC88>
    print(list(res))
    # 结果打包为元组的列表 [(1, 4), (2, 5), (3, 6)]
    res2 = zip(a,c)
    print(list(res2))
    # 元素个数与最短的列表一致 [(1, 4), (2, 5), (3, 6)]
    res3 = zip(*res)  # 与zip相反,*res可理解为解压,返回二维矩阵式
    print(list(res3)) # [(1, 2, 3), (4, 5, 6)]
    
  • 相关阅读:
    使用SQLite做本地数据缓存的思考
    毕业后第一次跳槽面试的点滴记录
    Nancy基于JwtBearer认证的使用与实现
    谈谈Nancy中让人又爱又恨的Diagnostics【上篇】
    CentOS 7.x 防火墙开放端口相关用法记录
    浅析如何在Nancy中使用Swagger生成API文档
    浅析如何在Nancy中生成API文档
    初探CSRF在ASP.NET Core中的处理方式
    微信小程序支付简单小结与梳理
    浅析Content Negotation在Nancy的实现和使用
  • 原文地址:https://www.cnblogs.com/We612/p/12251411.html
Copyright © 2020-2023  润新知