zoukankan      html  css  js  c++  java
  • 内置函数map()

    功能:map() 会根据提供的函数对指定序列做映射。map()的两个参数一个是函数名,另一个是列表或元组。处理后的结果,是一个列表 元素位置未改动

     map函数中第二个传的参数 只要是可迭代对象就行

    语法

    map() 函数语法:

    map(function, iterable, ...)

    参数

    • function -- 函数
    • iterable -- 一个或多个序列

    1.需求,得到一个新的列表,元素的值为原来元素值的平方------>用for循环实现

    num_1 = [1,2,10,5,4,6]
    print(num_1)
    ret = []
    for i in num_1:
        ret.append(i**2)
    print(ret)

    2.简易版本使用函数实现列表元素平方功能封装

    num_1 = [1,2,10,5,4,6]
    print(num_1)
    def map_test(arry):
        ret = []
        for i in num_1:
            ret.append(i**2)
        return  ret
    ret = map_test(num_1)
    print(ret)

    3.终极版本实现 使用匿名函数传值并实现元素加1功能封装

    num_1 = [1,2,10,5,4,6]
    def map_test(func,arry):
        ret = []
        for i in arry:
            res = func(i)
            ret.append(res)
        return ret
    print(map_test(lambda x:x+1,num_1))

    4.map函数:可以传lambda x:x+1形式的函数,也可以传有实际名称的自定义函数

    示例:使用map函数实现 序列中的元素+1功能

    num_1 = [1,2,10,5,4,6]
    res = map(lambda x:x+1,num_1)
    print('内置函数map,处理结果',res)
    print(list(res))

    5.map函数后面跟有自定义函数

    num_1 = [1,2,10,5,4,6]
    def reduce_one(x):
        return x-1
    print('传的是有名函数',list(map(reduce_one,num_1)))

    6.map()的两个参数一个是函数名,另一个是列表或元组,字符串也可以。

    msg = 'lihaifeng'#字符串
    print(list(map(lambda x:x.upper(),msg)))

  • 相关阅读:
    周鸿祎笔录
    set multiset 集合实现众数的统计
    栈实现 汉诺塔 操作是否符合规范
    优先队列----解决排序问题
    字符串的应用(续一)
    优先队列 的实例(未完----待续)
    字符串的应用
    栈实现括号
    Jave垃圾回收算法
    Java 按代回收垃圾以及回收算法
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10930539.html
Copyright © 2011-2022 走看看