python内置函数系列之map(持续更新)

python 内置函数–map

首先,我们先看一下map函数的介绍:

显而易见,map函数
返回值:一个map object(map 对象,是一个可迭代对象)
参数:

  1. func(一个函数)
  2. iterables(一个或多个可迭代对象)

下面我们具体深入了解:

# 定义一个 +1 的简单函数
def add_one(x):
    return x + 1


# 只传入一个可迭代对象进入map函数
a = map(add_one, ls)
b = map(add_one, tp)
c = map(add_one, dict1.values())

# 打印结果
print(a, b, c)
print(type(a), type(b), type(c))
print(tuple(a), list(b), list(c))

结果如下:

![结果](https://img-blog.csdnimg.cn/2fb0d4161cc24bf68e218e07eda04f74.png打印结果印证了返回值的类型为一个map对象,属于map类

它的逻辑为:将可迭代对象传入函数中,并进行迭代,生成一个map对象

我们可以将map对象转化为其它可迭代对象,例如结果中的元组和列表。

当然,也可以遍历:

for i in a:
    print(i)

结果

深入了解map

当传入多个可迭代对象进入同一函数,结果如何?

# python中最常见的三种可迭代对象
ls = [1, 2, 3, 4, 5]
tp = (1, 2, 3, 4, 5)
dict1 = {"n": 1, "m": 2}


def my_sum(x, y, z):
    return x + y + z

# 需要特别注意字典的传入规范
e = map(my_sum, ls, tp, dict1.values())
print(list(e))

结果如下:
在这里插入图片描述
分析知道:

当有多个可迭代对象传入时,它会将每个可迭代对象的对应元素传入函数,生成一个map对象的子元素并保存,当其中一个可迭代对象的元素传完后,停止迭代,此时,生成了完整的map对象。(可以理解为木桶原理

map使用实例:

实例1.一行输入多个数

# 常见map使用实例
# 一行输入多个数
ls0 = [0] * 5
ls1 = [0] * 5
for i in range(3):
    ls0[i], ls1[i] = map(int, input().split())
print(ls0, ls1)

在这里插入图片描述
实例2. 把 list 所有数字转为字符串

r = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(map(str, r )))
#输出结果
['1', '2', '3', '4', '5', '6', '7', '8', '9']

更多内置函数,请看本人专栏。
彦祖,点个赞再走吧

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值