【Python函数篇001】【浅谈map函数用法】

【Python函数篇001】【浅谈map函数用法】,第1张

class map(object):
    def __init__(self, func, *iterables):
        pass
"""
"""
一、浅谈map函数定义
1、从以上源码中,我们能看出,定义的map类继承了object,我们通常在使用map函数时,其实就是调用的__init__初始化函数;
2、map函数调用后会返回一个新list对象,需要通过list进行转换为我们熟悉的list格式;
二、map函数格式
1、第一个参数是接受一个函数名(注意是函数名),后面可接受一个和多个可迭代序列
map(func,*iterables)
三、map函数的使用
1、一个iterables
    def sum(x):
        sum=x+10
        return sum
    res=map(sum,[1,23,56])
    print(res)
    print(list(res))
    结果输出如下:
    
    [11, 33, 66]
    
2、多个iterables
    def sum(x,y):
        sum=x+y
        return sum
    res=map(sum,[1,23,56],[12,7,4])
    print(res)
    print(list(res))
    输出结果如下:
    
    [13, 30, 60]
    
3、list元素个数不一致,按传入的第一个list元素进行计算,后面不计算
    def sum(x,y):
        sum=x+y
        return sum
    res=map(sum,[1,23,56],[12,7,])
    print(res)
    print(list(res))
    输出结果如下:
    
    [13, 30]
    
    def sum(x,y):
        sum=x+y
        return sum
    res=map(sum,[1,23,],[12,7,4])
    print(res)
    print(list(res))
    输出结果如下:
    
    [13, 30]

4、结合lambda函数的方法
    res=map(lambda x,y:x+y,[1,23,56],[12,7,4])
    print(res)
    print(list(res))   
    输出结果如下:
    
    [13, 30, 60]

5、结合函数返回元组类型数据
    def sum(x,y):
        return (x,y)
    res=map(sum,[1,23,56],[12,7,4])
    print(res)
    print(list(res))      
    输出结果如下:
    
    [(1, 12), (23, 7), (56, 4)]
 
6、map进行数据类型转换
    str-->int
    res=map(int,["2","4","6"])
    print(res)
    print(list(res))
    输出结果如下:
    
    [2, 4, 6]
    
    str-->list
    res=map(list,["2klj"])
    print(res)
    print(list(res))
    输出结果如下:
    
    [['2', 'k', 'l', 'j']]
    
    提取字典中的key,返回一个list
    res=map(str, {"key1":"val1","key2":"val2"})
    print(res)
    print(list(res))
    输出结果如下:
    
    ['key1', 'key2']

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/867412.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-12
下一篇2022-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存