• 10.python-映射函数(map)


    # 映射函数(map),该函数有至少有两个参数,一个函数类型参数+一个或多个序列,
    # 序列的个数对应实参函数的形参个数,
    # 特别注意:
    # python2中,如果多个序列的长度不同,那么不是最长的序列都会用None补齐
    # python3中,map会执行到最短的序列耗尽时,结束
    
    # 特别说明:map在python2中返回列表(list),在python3中返回迭代器(iterator),
    #         所以在Python2中下面代码对a的两次遍历会打印两次,而Python3中下面代码对a的两次遍历只会打印一次
    # 原因:迭代器只能被遍历一次
    a = map(lambda x: x ** 2, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    print('first traversal a:')
    for x in a:
        print(x)
    print('second traversal a:')
    for x in a:
        print(x)
    
    # 如果想多次遍历迭代器产生的内容,方法如下:
    # 原理:通过list(b)对迭代器b遍历一次,得到一个list,list是可以多次遍历的
    b = map(lambda x: x ** 2, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    b_list = list(b)
    
    print('first traversal b:')
    print(b_list)
    print('second traversal b:')
    print(b_list)
    
    
    def add(x, y):
        if x is None:
            x = 0
        if y is None:
            y = 0
        return x + y
    
    
    result = list(map(add, [1, 2, 3], [1, 2, 3]))
    print(result)  # [2, 4, 6]
    result = list(map(add, [1, 2, 3], [1, ]))
    print(result)  # [2]
  • 相关阅读:
    0909初识操作系统
    实验四主存空间的分配和回收
    实验一 DOS命令解释程序的编写
    0909关于操作系统
    实验四主存空间的分配和回收
    实验3评价
    实验一 DOS命令解释程序的编写
    实验三、进程调度模拟程序实验
    实验二、作业调度实验
    0909 第一次上机课之《为什么学操作系统?》
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256154.html
Copyright © 2020-2023  润新知