map函数()-通过函数实现对可迭代对象的操作


it老板凳
it老板凳 2023-11-17 10:48:55 51350
分类专栏: 资讯
  • 1. 什么是map函数

  • 2. map函数语法

  • 3. 实操练习

    • 3.1 用split方法将字符串转换成列表

    • 3.2 用map函数()进行转换

    • 3.3 编写代码,求列表中各元素的和

    • 3.4 把列表中的元素映射为浮点数

  • 4. 代码总结

 

1. 什么是map函数

map [mæp]:地图,映射。

在Python中map的意思通常是指映射。

map函至少有2个参数。一个是参数是函数,另一个参数是一个或多个可迭代对象。

【功能】

map函数接收一个函数为它的参数,接收一个或多个可迭代对象为参数,返回一个迭代器。

此迭代器中的每个元素都是函数参数依次作用于可迭代对象后的结果。

上面的话理解不了的,继续往下看,看完实操就能理解上面的意思。

2. map函数语法

map(function, iterables=, ...)
  1. 函数名map

  2. 函数后紧跟英文圆括号( )

【参数说明】

  1. function:函数。

function[ˈfʌŋkʃn]:函数。

  1. iterables:一个或多个可迭代对象。

iterables:网络释义为可迭代对象。

【返回值】

返回迭代器。

3. 实操练习

s = "2,3,4,5"

上面的s是一个变量,存储的是字符串类型的数据。

我们的任务是把s中的字符转换成可以参与算术运算的数据。

要完成这个任务,我们需要分2步走。

3.1 用split方法将字符串转换成列表

split[splɪt]:使分离。

【功能】

把一个字符串按照指定的分隔符切分为字符串列表。

split( )方法语法:

str.split(sep=,maxsplit=)

sep参数用于指定分割符。

maxsplit参数用于指定分割的次数

【返回值】

返回的是一个字符串列表。

【代码示例】

s = "2,3,4,5"
print("s的数据类型为:",type(s))
l = s.split(",")    # split方法,作用是分割字符串
print("l的数据类型为:",type(l))
print("l列表:",l)

【终端输出】

s的数据类型为: <class 'str'>
l的数据类型为: <class 'list'>
l列表: ['2', '3', '4', '5']

split方法将字符串s分割后返回了一个列表。

注意这里的列表中的元素依然是字符串类型,是不能参与算术运算的。

接下来,我们用map函数将列表中的字符串元素转换成能进行算术运算的数据。

3.2 用map函数()进行转换

【功能】

map函数接收一个函数为它的参数,接收一个或多个可迭代对象为参数,返回一个迭代器。

【map函数语法】

map(function, iterables=, ...)
  1. function:函数。

  2. iterables:一个或多个可迭代对象。

这里我们需要把可迭代对象列表中的元素映射为整数类型,function参数就可以指定为int函数。

iterables参数就是我们要操作的可迭代对象,这里为列表l

s = "2,3,4,5"
l = s.split(",")   
print(map(int, l))

【终端输出】

<map object at 0x0000011D29FB2520>

map函数返回的是一个可迭代器对象。

我们可以使用list函数将其转换为列表。

s = "2,3,4,5"
l = s.split(",")   
print(list(map(int, l)))

【终端输出】

[2, 3, 4, 5]

现在列表中的元素就为整数型,就是能参与计算的数据了。

3.3 编写代码,求列表中各元素的和

s = "2,3,4,5"
l = s.split(",")   
list1 = list(map(int, l))
sum = 0
for i in list1 :
    sum += i
print(sum)

【终端输出】

14

sum += i 等同于 sum = sum + i

3.4 把列表中的元素映射为浮点数

s = "2,3,4,5"
l = s.split(",")   
print(list(map(float, l)))

【终端输出】

[2.0, 3.0, 4.0, 5.0]

当我们需要浮点数时,map函数的function参数就为float函数。

4. 代码总结

s = "2,3,4,5"
l = s.split(",")   
print(map(int, l))
print(list(map(int, l)))
print(list(map(float, l)))

【终端输出】

<map object at 0x0000011D29FB2FA0>
[2, 3, 4, 5]
[2.0, 3.0, 4.0, 5.0]

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=28589
赞同 0
评论 0 条
it老板凳L0
粉丝 0 发表 8 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2959
【软件正版化】软件正版化工作要点  2878
统信UOS试玩黑神话:悟空  2843
信刻光盘安全隔离与信息交换系统  2737
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1270
grub引导程序无法找到指定设备和分区  1235
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  165
点击报名 | 京东2025校招进校行程预告  164
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  163
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  159
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!