当前位置:   article > 正文

Python中的map()函数与lambda()函数_python map lamda

python map lamda

用法map(function, iterable, …)
参数function: 传的是一个函数名,可以是python内置的,也可以是自定义的。
参数iterable :传的是一个可以迭代的对象,例如列表,元组,字符串…


最重要的还是功能啦!
功能 将iterable中的每一个元素执行一遍function


栗子1:

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每个元素都作平方,就可以用map()函数:
在这里插入图片描述
代码:

def f(x):
    return x*x
print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))   # Python中map无法直接显示,需要加list
  • 1
  • 2
  • 3

结果为: [1, 4, 9, 16, 25, 36, 49, 64, 81]


栗子2: 首字母大写,其余小写

输入:[‘adam’, ‘LISA’, ‘barT’]

方法one:
利用 ---->(str).capitalize()

def format_name(s):
    return s.capitalize()

print(list(map(format_name, ['adam', 'LISA', 'barT'])))
  • 1
  • 2
  • 3
  • 4

方法two:
利用---->切片和字符串拼接

def format_name(s):
    return s[0].upper() + s[1:].lower()

print(list(map(format_name, ['adam', 'LISA', 'barT'])))
  • 1
  • 2
  • 3
  • 4

为了增强可读性:

def format_name(s):
    return s[0].upper() + s[1:].lower()

L1 = ['adam', 'LISA', 'barT']
L2 = list(map(format_name, L1))
print(L2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果为: [‘Adam’, ‘Lisa’, ‘Bart’]


思维拓展:

lambda函数是Python的内置函数,其功能主要是实现匿名函数的目的。匿名函数的优点就是简洁、轻量化。匿名函数无需起名,用完即可被回收,节约资源。

lambda函数的形式为:
(单参数)lambda x:x*2,(多参数)lambda x,y : x+y
其中,冒号左边的x、y为参数,冒号右边的为函数体

栗子1: 求两列表之和

def add_list(x, y):
    return x + y

list_num1 = [1, 2, 3, 0, 8, 0, 3]
list_num2 = [1, 2, 3, 4, 6.6, 0, 9]
print(list(map(add_list, list_num1, list_num2)))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

结果为: [2, 4, 6, 4, 14.6, 0, 12]

lambdamap处理之后有:

list_num1 = [1, 2, 3, 0, 8, 0, 3]
list_num2 = [1, 2, 3, 4, 6.6, 0, 9]
print(list(map(lambda x, y: x+y, list_num1, list_num2)))
  • 1
  • 2
  • 3

结果为: [2, 4, 6, 4, 14.6, 0, 12]


大家加油!

学习网址:https://www.imooc.com/code/6049
https://blog.csdn.net/weixin_43097301/article/details/82936777
https://blog.csdn.net/adobemomo/article/details/82733642

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/693265
推荐阅读
相关标签
  

闽ICP备14008679号