语法:
map(func, seq1[, seq2,…])
1、第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个列表
2、如果func为None,作用同zip()
3、无法处理seq长度不一致、对应位置操作类型不一致的情况,报错
用法1、当seq只有一个时,函数func作用于这个seq的每个元素上,返回一个新的seq
| |
| 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)] |
| |
| 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') |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?