map()函数 lambda函数 zip()函数的使用
map()函数的使用介绍
1,map是python内置函数,会根据提供的函数对指定的序列做映射。
2,python2返回的是一个集合,python3返回的是一个map对象,需要对其进行数据类型的转换。
map()函数的格式是:
map(function,iterable,...)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列。
把函数依次作用在list中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
3,map()函数实例:
del square(x):
return x ** 2
res = map(square,[1,2,3,4,5])
print(res)
# <map object at 0x0000019920738C88>
print(list(res))
# 结果:[1,4,9,16,25]
- 通过使用lambda匿名函数的方法使用map()函数:
sum = lambda x, y: x+y
res = map(sum(x, y),[1,3,5,7,9],[2,4,6,8,10])
# map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10])
print(list(res))
# 结果:[3,7,11,15,19]
# 通过lambda函数使返回值是一个元组:
res = map(lambdax, y : (x**y, x+y),[2,4,6],[3,2,1])
print(list(res))
# 结果:[(8,5),(16,6),(6,7)]
- 当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:
res = map(None, [2,4,6],[3,2,1])
print(list(res))
# 结果:[(2,3),(4,2),(6,1)]
- 将字符串转换为list:
res = map(int,'1234')
print(list(res))
# 结果:[1,2,3,4]
lambda函数
1,语法:
lambda 参数1, 参数2...: 语句
2,举例
sum = lambda x, y: x+y # 定义匿名函数
res = sum(2, 3) # 调用匿名函数 执行结果由执行语句决定
print(res) # 结果是:5
zip()函数
1, 语法:iterable -- 一个或多个迭代器;
zip([iterable, ...])
2,python2直接返回一个列表;在Python3中为了减少内存,返回的是一个zip对象。如需展示列表,需用list()转换。
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
res = zip(a,b)
print(res) # <zip object at 0x000001992073FC88>
print(list(res))
# 结果打包为元组的列表 [(1, 4), (2, 5), (3, 6)]
res2 = zip(a,c)
print(list(res2))
# 元素个数与最短的列表一致 [(1, 4), (2, 5), (3, 6)]
res3 = zip(*res) # 与zip相反,*res可理解为解压,返回二维矩阵式
print(list(res3)) # [(1, 2, 3), (4, 5, 6)]
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架