解决Python3下map函数的显示问题
map函数是Python里面比较重要的函数,设计灵感来自于函数式编程。Python官方文档中是这样解释map函数的:
map(function,iterable,...)
Returnaniteratorthatappliesfunctiontoeveryitemofiterable,yieldingtheresults.Ifadditionaliterableargumentsarepassed,functionmusttakethatmanyargumentsandisappliedtotheitemsfromalliterablesinparallel.Withmultipleiterables,theiteratorstopswhentheshortestiterableisexhausted.
即map函数接收的第一个参数为一个函数,可以为系统函数例如float、或者def定义的函数、或者lambda定义的函数均可。
举一个简单的例子,下面这个例子在Python2.7下是可以正常显示的:
ls=[1,2,3] rs=map(str,ls) #打印结果 ['1','2','3'] lt=[1,2,3,4,5,6] defadd(num): returnnum+1 rs=map(add,lt) printrs #[2,3,4,5,6,7]
但是在Python3下我们输入:
ls=[1,2,3] rs=map(str,ls) print(rs)
显示的却是:
而不是我们想要的结果,这也是Python3下发生的一些新的变化,如果我们想得到需要的结果需要这样写:
ls=[1,2,3] rs=map(str,ls) print(list(rs))
这样显示的结果即为我们想要看到的。这一点在《机器学习实战》的第10章中会有一点帮助。
以上这篇解决Python3下map函数的显示问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。