美文网首页学习
python的Map函数

python的Map函数

作者: TimeSHU | 来源:发表于2018-04-29 00:29 被阅读227次

    #! /usr/bin/env python

    # -*- coding:utf-8 -*-

    num_l=[1,2,10,5,3,7]

    num1_l=[1,2,10,5,3,7]

    让num_l都乘平方

    for循环用法

    res = []

    for iin num_l:

    res.append(i**2)

    print(res)

    函数方法

    def f(x):

    return x**2

    def map_text(func, array):

    ret = []

    #循环一个变量,变量是由函数传递过来的参数

        for iin array:

    #把处理数字的方法变成一个函数,以后想把数字作为加减乘除,直接调用函数即可

            res = func(i)

    ret.append(res)

    return ret

    print(map_text(f, num_l))

    '''

    乘平方处理流程num_l=[1,2,10,5,3,7] 定义一个全数字列表,需求把里面的数字乘平方

    定义一个乘平方的处理函数def f(x):

    return x**2

    等价于lambda x:x**2  匿名函数

    定义一个处理函数的过程def map_text(func , array): 定义map_text函数并且传递两个参数,一个是调用乘平方的函数,一个是需要处理的数字列表    ret = []  定义一个空列表,把乘平方过的元素逐步添加进去    for i in array:  循环需要处理的数字列表

                        此时循环到第一个数字 数字是1

            res = func(i)  调用乘平方的函数来处理第一个数字 1**2 得到1 赋给变量res

            ret.append(res) 调用append函数追加处理过的第一个数字得到的值 1 追到到ret列表中

        一直循环到列表中的数字处理完毕,并且全部追加到ret列表中,循环结束    return ret  循环结束到这部,返回一个处理后的列表ret

    '''

    #终极版

    #map函数

    num1_l=[1,2,10,5,3,7]

    #列表中的元素加1

    ret =list(map(lambda x:x+1 , num1_l))

    print(ret)

    #列表中元素减1

    ret =list(map(lambda x:x-1 , num1_l))

    print(ret)

    #列表中的元素乘以2

    ret =list(map(lambda x:x**2 , num1_l))

    print(ret)

    返回值:

    [2, 3, 11, 6, 4, 8]

    [0, 1, 9, 4, 2, 6]

    [1, 4, 100, 25, 9, 49]

    相关文章

      网友评论

        本文标题:python的Map函数

        本文链接:https://www.haomeiwen.com/subject/goznlftx.html