Python3--我的代码库之map()

a_list = [1,2,3,4]
def fun(x):
    return x+1

a_map = map(fun,a_list)
print(type(a_map))

输出:
class ‘map’
由此可见,map()函数的返回值并不是一个列表,而是一个map对象。那么该如何打印a_map呢?

print(a_map)

输出:
map object at 0x7f8929f25048
并不能显式的输出map对象的内容。那么我们试一下

print(next(a_map))

输出:2
此处说明map是可以被迭代的对象

for i,num  in   enumerate(a_map):
    print("{}:{}".format(i,num))

输出:
0:2
1:3
2:4
3:5

那么如何将map对象转化为列表使用呢?

a_map = map(fun,a_list)
a_map_list = list(a_map)
print(type(a_map_list))
print(a_map_list)

输出:
class ‘list’
[2, 3, 4, 5]


要注意的是,我们必须将map对象赋给另外的变量在进行输出,不然就会有

a_map = map(fun,a_list)

print(list(a_map))      ·1
print(list(a_map))      ·2

输出: [2, 3, 4, 5]
[]
因为迭代器的原因,注定指针不会退回去,执行print(list(a_map)) ·2,再次输出[2, 3, 4, 5],只能输出空的列表。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值