编程嘛,本质上就是和的相互协作,网络笑言:程序员大部分的时间都是在写、、。大壮和小美翻开他们写的代码看了看,脸上露出了输入法上的第三个表情。
大部分程序员都会关心的一个问题:程序的运行效率,而要解决效率,有一部分工作是要优化和。有两个点是非常出名的,一是开发效率高,而是运行效率低。
要想写出高运行效率的代码,函数和得好好用起来。
map函数
函数在提高运行效率方面,有着重要作用,在内置模块和中,就以函数来执行并发任务。简单演示以下的使用。
示例1 遍历列表中的每个元素执行方法 并把结果放到列表中
相比循环,节省了以上的时间,如果一个程序中充满了大量的重复计算,无疑是一个好的选择,它适合用来执行重复的函数,指需要把任务函数所需要的参数组织成列表传入即可,如示例中的列表。
会返回一个生成器,里面包含了每次执行函数的值,所以代码中使用了进行接收,如果任务函数无返回值,那么无需使用变量接收的运行结果,伪代码演示:
示例 2 使用网络短信接口执行发短信
无返回值,所以大壮和小美也无需关心函数执行的结果。
之前有个大壮使用循环执行了1000次发短信的任务,被成为,直到后来他使用了函数。
推导式
推导式很香,先来个演示
演示 1 把data列表中的以字母结尾的元素取出保存到新的列表中
一行代码搞定,隔壁小孩都说香。如果需要二次循环才能搞定的活,循环就有点让人恼火了。
演示 2 把列表中字典键值大于等于3的字典提取出来放都列表中
一行代码也搞定。
除了列表可以推导外,元组、字典、集合都能推导,十分方便。
关于map for 和推导式的效率之说
这里就不去费脑筋设计任务来对比效率了,可自行动手试试。同样的任务和细节,效率对比应该为: > > 。
领取专属 10元无门槛券
私享最新 技术干货