欢迎来到田晓东的博客

生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。人
扩大
缩小

map()函数

语法:
map(func, seq1[, seq2,…])
1、第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个列表
2、如果func为None,作用同zip()
3、无法处理seq长度不一致、对应位置操作类型不一致的情况,报错

用法1、当seq只有一个时,函数func作用于这个seq的每个元素上,返回一个新的seq

#使用lambda
print(map(lambda x: x % 2, range(7)))
[0, 1, 0, 1, 0, 1, 0]
#使用列表解析
print([x % 2 for x in range(7)])
[0, 1, 0, 1, 0, 1, 0]

用法2、当seq多于一个时,map可以并行(注意是并行)地执行每个seq的元素

#返回列表:
print(map(lambda x , y : x ** y, [2,4,6],[3,2,1]))
[8, 16, 6]
#返回元组
print map(lambda x , y : (x ** y, x + y), [2,4,6],[3,2,1])
[(8, 5), (16, 6), (6, 7)]
#func函数为None时,相当于zip()
print map(None, [2,4,6],[3,2,1])
[(2, 3), (4, 2), (6, 1)]

用法3、map()函数可以实现将其他类型的数转换成list

***将元组转换成list***
map(int, (1,2,3))
[1, 2, 3]
***将字符串转换成list***
map(int, '1234')
[1, 2, 3, 4]
***提取字典的key,并将结果存放在一个list中***
map(int, {1:2,2:3,3:4})
[1, 2, 3]
***字符串转换成元组,并将结果以列表的形式返回***
map(tuple, 'agdf')
[('a',), ('g',), ('d',), ('f',)]
#将小写转成大写
def u_to_l (s):
return s.upper()
print map(u_to_l,'asdfd')

posted on   匍匐的仰望者  阅读(126)  评论(0编辑  收藏  举报

(评论功能已被禁用)
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示