各位在用map函数时是不是也有个疑问,特别是3.x以上的版本,在2.x的版本中map函数很好理解,现在版本升级了反而越来越难搞了,map这个函数在高版本中竟然是一个对象了??!完全是一脸懵逼的,而map后的对象有种“阅后即焚”的感觉,不信咱试试哈。如下举例:
1、想获取对象中的东西,也就是该对象到底是啥?>>> a=[[1, 2,3, 4,6], [2, 3,4, 5,6]]
>>> a2=map(set, a)
>>> a2
#a2是个对象啊
#将a2中的东西全部打印出来
>>> for item in a2:
print(item)
{1, 2, 3, 4, 6}
{2, 3, 4, 5, 6}
>>> a2
#再次查看a2地址没变,但是再次遍历打印为空
>>> for item in a2:
print(item)
#a2再也不愿意出来了见客了,只能使用它一次,再用它就不理你了
>>> list(a2)
[]
#list后为空
2、将对象转化为列表,仍旧只能用一次,惹不起>>> b=[[1, 2,3, 4,6], [2, 3,4, 5,6]]
>>> b2=map(set,b)
>>> b2
>>> list(b2)
[{1, 2, 3, 4, 6}, {2, 3, 4, 5, 6}]
>>> b2
#用过一次它就消失了
>>> list(b2)
[]
>>> for ii in b2:
print(ii)
>>>
3、直接赋值式复制不能备份