美文网首页学习
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