zoukankan      html  css  js  c++  java
  • 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]
  • 相关阅读:
    2
    网络对抗第四次实验恶意代码
    网络对抗第三次实验
    网络对抗第二次实验
    网络攻防第一次实验
    123
    数据结构
    第五次实验
    第二次实验
    Qt应用笔记
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256154.html
Copyright © 2011-2022 走看看