一日一技:举例说明python中的map()方法
bigegpt 2024-12-20 13:31 5 浏览
map()函数
Python 的map()方法,作为输入提供的迭代器的所有元素应用函数。 例如,迭代器可以是列表,元组,集合,字典,字符串,并且它返回可迭代的映射对象。 另外,map()是python的内置函数。
在本教程中,我们将学习:
- map()的语法
- map()函数如何实现?
- 将map()与Python内置函数一起使用
- 使用map()和字符串作为迭代器
- 将map()与数字列表一起使用
- 在元组中使用map()
- 在字典中使用map()
- 与集合一起使用map()
- 将map()与Lambda函数一起使用
- 在map()函数内部使用多个迭代器
语法如下:
map(function, iterator1,iterator2 ...iteratorN)
两个重要的参数:
- function:要提供给map()的必须参数,它将应用于迭代器中所有可用的项目。
- iterator:一个可迭代的必须对象。 它可以是列表,元组等。我们还可以将多个迭代器对象传递给map()函数。
返回值
map()函数将给定函数应用于迭代器内的所有项目,并返回可迭代的映射对象,比如元组,列表等。
map()函数如何实现?
map()函数将两个输入作为函数和一个可迭代对象。 给map()的函数是普通函数,它将对给定可迭代对象中存在的所有值进行迭代。
假设有一个数字列表,并且想要得到每个数字的平方。
获取输出后,我们需要返回给定数字平方的函数。 函数实现如下:
def square(n):
return n*n
我们想得到以下数字的平方;
my_list = [2,3,4,5,6,7,8,9]
现在,让我们使用map()函数来获取my_list中每个元素的平方。
实现代码如下:
def square(n):
return n*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]
输出结果我们可以看到,map()函数的输出为<map object at 0x0000002C59601748>的map()对象。
然后我们使用for循环或使用list()方法对输出进行迭代,以获取最终结果。
因此,使用map()函数,我们可以获得每个数字的平方。给map的列表是[2,3,4,5,6,7,8,9],然后使用square()函数输出 从map()得到的是[4,9,16,25,36,49,64,81]。
map()将函数square()应用于列表中的所有元素。 例如,my_list变量并使用每个数字的平方更新列表。 输出存储在updated_list变量中。
将map()与Python内置函数一起使用
map()函数是一个内置函数,可以与Python中其他内置函数一起使用。 在以下示例中,我们使用round()内置函数给值进行四舍五入.
示例如下:
创建的列表是my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]。
我们需要得到列表中每个元素四舍五入的值。 我们使用round()函数。
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]
updated_list = map(round, my_list)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]
round()函数应用于列表中的所有元素,它返回一个列表,其中所有值按照四舍五入的值输出。
使用map()和字符串作为迭代器
我们还可以在map()中传入字符串参数。 在Python中,字符串的作用类似于数组,因此我们可以在map()中使用它。
在示例中,我们有一个函数myMapFunc(),负责将给定的字符串转换为大写。 将函数myMapFunc()提供给map()函数。map函数将通过将字符串传递给myMapFunc()来转换给定的大写字符串。
def myMapFunc(s):
return s.upper()
my_str = "welcome to guru99 tutorials!"
updated_list = map(myMapFunc, my_str)
print(updated_list)
for i in updated_list:
print(i, end="")
输出:
<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!
将map()与数字列表一起使用
要使用map()中的列表,将获取一个数字列表,并将列表中的每个数字乘以10。
我们将要使用的列表是:[2,3,4,5,6,7,8,9]。 函数myMapFunc()负责将给定数字乘以10。该函数与列表一起用于映射。
示例如下:
def myMapFunc(n):
return n*10
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]
在元组中使用map()
元组是Python中的一个对象,以逗号分隔值并括在圆括号中的元素。 在以下示例中,我们将使用带有字符串值的元组。 我们将使用函数将传入的字符串转换为大写字母。
示例如下:
def myMapFunc(n):
return n.upper()
my_tuple = ('php','java','python','c++','c')
updated_list = map(myMapFunc, my_tuple)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
在字典中使用map()
使用大括号{}创建字典。 由于字典是迭代器,因此我们可以在map()函数中使用它。 现在让我们使用字典作为map()函数中的迭代器。
以下示例显示map()中字典迭代器的工作方式
def myMapFunc(n):
return n*10
my_dict = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_dict)
print(finalitems)
print(list(finalitems))
输出:
<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]
与集合set一起使用map()
在Python中,集合set()中的元素是无序的。 而且,set()也是一个迭代器,因此我们也可以在map()函数中使用它。
以下是在map()中使用set()作为迭代器的工作示例:
def myMapFunc(n):
return n*10
my_set = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_set)
print(finalitems)
print(list(finalitems))
输出:
<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]
将map()与Lambda函数一起使用
在Python中,lambda表达式用于构造匿名函数。 必须使用lambda关键字,就像使用def定义函数方法一样。
因此,在以下示例中,我们将在map()中使用lambda函数。 lambda函数会将列表中的每个值乘以10。
示例如下:
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(lambda x: x * 10, my_list)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]
在map()函数内部使用多个迭代器
示例1:将两个列表迭代器传递给map()
我们可以将多个迭代器(即列表,元组等)同时传入到map()函数中。
例如,如果要添加两个列表。 使用map()函数可以完成相同的操作。 我们使用两个列表my_list1和my_list2。
在下面的示例中,将my_list1中的第一项添加到my_list2的第一项中。 函数myMapFunc()接受my_list1和my_list2的值并返回两者之和。
以下是使用map()函数添加两个给定列表的例子:
def myMapFunc(list1, list2):
return list1+list2
my_list1 = [2,3,4,5,6,7,8,9]
my_list2 = [4,8,12,16,20,24,28]
updated_list = map(myMapFunc, my_list1,my_list2)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]
示例2:将一个元组和一个列表迭代器传递给map()
我们将在map()函数中使用列表和元组迭代器。 该函数是给map的-myMapFunc()将从列表和元组中获取元素值。 这些元素将带有下划线(_)。 工作示例如下所示:
def myMapFunc(list1, tuple1):
return list1+"_"+tuple1
my_list = ['a','b', 'b', 'd', 'e']
my_tuple = ('PHP','Java','Python','C++','C')
updated_list = map(myMapFunc, my_list,my_tuple)
print(updated_list)
print(list(updated_list))
输出:
<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
希望这篇文章对你们有用,
欢迎在下方讨论留言,
谢谢关注.
相关推荐
- 了解Linux目录,那你就了解了一半的Linux系统
-
大到公司或者社群再小到个人要利用Linux来开发产品的人实在是多如牛毛,每个人都用自己的标准来配置文件或者设置目录,那么未来的Linux则就是一团乱麻,也对管理造成许多麻烦。后来,就有所谓的FHS(F...
- Linux命令,这些操作要注意!(linux命令?)
-
刚玩Linux的人总觉得自己在演黑客电影,直到手滑输错命令把公司服务器删库,这才发现命令行根本不是随便乱用的,而是“生死簿”。今天直接上干货,告诉你哪些命令用好了封神!喜欢的一键三连,谢谢观众老爷!!...
- Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!
-
在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...
- linux必学的60个命令(linux必学的20个命令)
-
以下是Linux必学的20个基础命令:1.cd:切换目录2.ls:列出文件和目录3.mkdir:创建目录4.rm:删除文件或目录5.cp:复制文件或目录6.mv:移动/重命名文件或目录7....
- 提高工作效率的--Linux常用命令,能够决解95%以上的问题
-
点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...
- 15 个实用 Linux 命令(linux命令用法及举例)
-
Linux命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁Linux系统的无限潜力,本文将深入介绍15个实用Linux命令。ls-列出目录内容l...
- Linux 常用命令集合(linux常用命令全集)
-
系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DM...
- Linux的常用命令就是记不住,怎么办?
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- Linux常用文件操作命令(linux常用文件操作命令有哪些)
-
ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本#ls--versionls(GNUcoreutils)8.4...
- Linux 常用命令(linux常用命令)
-
日志排查类操作命令查看日志cat/var/log/messages、tail-fxxx.log搜索关键词grep"error"xxx.log多条件过滤`grep-E...
- 简单粗暴收藏版:Linux常用命令大汇总
-
号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部下午好,我的网工朋友在Linux系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。通过命令行,用户可...
- 「Linux」linux常用基本命令(linux常用基本命令和用法)
-
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。总结送免费学习资料(包含视频、技术学习路线图谱、文档等)1、显示日期的指令:d...
- Linux的常用命令就是记不住,怎么办?于是推出了这套教程
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- Linux的30个常用命令汇总,运维大神必掌握技能!
-
以下是Linux系统中最常用的30个命令,精简版覆盖日常操作核心需求,适合快速掌握:一、文件/目录操作1.`ls`-列出目录内容`ls-l`(详细信息)|`ls-a`(显示隐藏文件)...
- Linux/Unix 系统中非常常用的命令
-
Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)