赞
踩
用法: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, 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'])))
方法two:
利用---->切片和字符串拼接
def format_name(s):
return s[0].upper() + s[1:].lower()
print(list(map(format_name, ['adam', 'LISA', 'barT'])))
为了增强可读性:
def format_name(s):
return s[0].upper() + s[1:].lower()
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(format_name, L1))
print(L2)
结果为: [‘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)))
结果为: [2, 4, 6, 4, 14.6, 0, 12]
用lambda
与map
处理之后有:
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)))
结果为: [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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。