首页 > Python资料 博客日记
Python之map()函数详解
2024-02-27 17:00:07Python资料围观176次
文章Python之map()函数详解分享给大家,欢迎收藏Python资料网,专注分享技术知识
文章目录
一、map() 函数简介
当我们使用列表或者元组时,经常需要对列表元素进行数学变换操作并返回一个新的列表。例如,我们想要将列表 bonuses 中的每个元素都乘以 2:
bonuses = [100, 200, 300]
为此,我们可以使用一个 for 循环遍历列表,将每个元素乘以 2,然后将结果添加到一个新的列表中:
bonuses = [100, 200, 300]
new_bonuses = []
for x in bonuses:
new_bonuses.append(x*2)
print(new_bonuses) # 输出:[200, 400, 600]
1.1 map() 函数基本语法
Python 提供了一个内置的 map() 函数,可以更加方便地执行这类操作。
以下是 map() 函数的基本语法:
map(function, iterable)
参数解释如下:
- function:一个函数或方法
- iterable:一个或多个序列(可迭代对象)
map() 函数的作用是:对序列 iterable 中每一个元素调用 function 函数,返回一个map对象实例。这个map对象本质上来讲是一个迭代器。
回到上面的示例,我们可以定义一个乘以 2 的函数,然后使用 map() 函数调用该函数:
def double_func(x):
return x* 2
bonuses = [100, 200, 300]
iterator = map(double_func, bonuses)
1.2 map() 函数+ lambda表达式
或者也可以使用 lambda 表达式
对代码进一步进行简化,例如:
bonuses = [100, 200, 300]
iterator = map(lambda x: x*2, bonuses)
print(list(iterator)) # 输出:[200, 400, 600]
1.3 map() 函数输入多个可迭代对象iterable
b1 = [100, 200, 300]
b2 = [1, 2, 3]
iterator = map(lambda x,y : x*y, b1, b2)
print(list(iterator)) # 输出:[100, 400, 900]
1.4 查看返回的迭代器内容
使用map函数获得了迭代器iterator后,我们如何查看其中的内容呢?
- 直接输出迭代器iterator,输出 map object 及其物理地址:
print(iterator)
# 输出:<map object at 0x7fa7f6165470>
- 使用 for 循环对其进行遍历迭代器iterator:
for x in iterator:
print(x)
# 输出:
# 200
# 400
# 600
- 使用 list() 函数将迭代器转换为一个列表:
print(list(iterator))
# 输出:[200, 400, 600]
二、map() 函数示例
接下来我们继续看几个使用 map() 函数操作列表的示例。
示例一:使用 map() 函数操作字符串列表
以下示例使用 map() 函数对字符串列表中的每个元素进行首字母大写转换,然后返回一个新的列表:
names = ['david', 'peter', 'jenifer']
new_names = map(lambda name: name.capitalize(), names)
print(list(new_names))
输出结果如下:
['David', 'Peter', 'Jenifer']
示例二:使用 map() 函数操作元组列表
假设存在以下由多个元组组成的购物车列表:
carts = [['SmartPhone', 400],
['Tablet', 450],
['Laptop', 700]]
我们需要计算每个产品的纳税额,税率为 10%。同时,我们需要将纳税额作为第三个元素添加到每个产品信息中。最终返回的列表如下:
[['SmartPhone', 400, 40.0],
['Tablet', 450, 45.0],
['Laptop', 700, 70.0]]
为此,我们可以使用 map() 函数创建一个新的元素,将纳税额作为它的值:
carts = [['SmartPhone', 400],
['Tablet', 450],
['Laptop', 700]]
TAX = 0.1
carts = map(lambda item: [item[0], item[1], item[1] * TAX], carts)
print(list(carts))
参考资料
- 【Python基础教程】第37篇 map()函数:https://zhuanlan.zhihu.com/p/474884078
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj