83. map函数()-通过函数实现对可迭代对象的操作(适合零基础)

83. map函数()-通过函数实现对可迭代对象的操作(适合零基础)

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]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值