python的map函数干啥 python3中map函数
今天琪琪来给大家分享一些关于python3中map函数方面的知识吧,希望大家会喜欢哦
1、6--实例解释题主你好,abs()L=[x for x in map(fibs,range(10))] 涉及到两个重点知识:a. 列表推导(list comprehension);b. map函数的作用;---------------先说列表推导,最简单的列表推导其实就是for循环的简写形式,举例来说:上面这三句,如果用列表推导的形式写:[num for num in range(10)]上面二者是等价的, 可以看出列表推导的形式,相比常规形式,省略了空列表的声明语句以及元素的追加语句.还有一个比较常见的形式是,for和if同时存在的情形:使用列表推导的形式:[num for num in range(10) if num%2==0]这两种形式的转换规则题主仔细研究一下应该就能弄明白,再往清楚说我也说不清楚.当然还有更复导的列表推导,这里就不细说了, 上面这两种应该是最常见的2.再说map函数, map函数定义为:map(函数名, 可迭代对象)我先给你举个例子,你用这个例子去理解map函数:比方说有一个盒子叫range(10),它里面有10个元素分别为0,1,2,3,4,5,6,7,8,9, 然后有一个机器叫increment,这个机器的作用是对range(10)这个盒子中的每个元素加1, 还有一个盒子叫result,它是用来存储被increment加工过的元素, 因为range(10)里面的元素为0-9,所以 result中的元素就是1-10, 而我们把从range(10)这个盒子中取元素让机器加工再将加工后的元素放到result盒子中的过程叫做map.所以再回到题主的问题: L=[x for x in map(fibs,range(10))],我们把题主的代码改个形式:tmp = map(fibs, range(10))L = [x for x in tmp]这样一来应该就好理解了:对于tmp = map(fibs, range(10)):range(10)是个盒子, 它里面有10个元素0-9;fibs是那个机器, 用来加工range(10)这个盒子中的每一个元素;map()函数表示的是这个加工的过程;tmp表示第二个盒子, 即存储的是range(10)这个盒子被fibs机器加工后的结果,即1,2,3,4,5,6,7,8,9,10;---对于L = [x for x in tmp], 其实就等价于:希望可以帮到题主, 欢迎追问.。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。