zoukankan      html  css  js  c++  java
  • 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)]
    
  • 相关阅读:
    两款命令行下的翻译工具: sdcv & translateshell
    谷歌语言标准中,C++成绝对的佼佼者 狼人:
    12个优秀的云计算操作系统 狼人:
    幻灯片在网页设计中应用的21个优秀案例 狼人:
    对Web开发人员有用的8个网站 狼人:
    网页设计师应向肖像画家吸取的11个理念 狼人:
    揭秘Facebook的系统架构 狼人:
    Chrome或取代Firefox成Ubuntu默认浏览器 狼人:
    Gnome 3.2 发布计划及新功能 狼人:
    MyFaces Core v2.0.7/2.1.1 发布,JSF框架 狼人:
  • 原文地址:https://www.cnblogs.com/We612/p/12251411.html
Copyright © 2011-2022 走看看