operator.itemgetter vs lambda

版权声明

本文出自 “ 幻冥极地 ” 博客 ,作者 小貘 采用 署名-非商业性使用-相同方式共享 协议。转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
https://www.moorehy.com/archives/370

对比视角

  1. 易读
  2. 优雅
  3. 效率

operator.itemgetter vs lambda

易读

写代码是给人看的,首先从易读性,对比下列两种写法:

显然在没有语法障碍的前提下,相较于抽象化的 lambda ,第一种写法更易读

优雅

那么那种写法更优雅呢,这就要把情况设想的更加复杂一点了,思考如下的多参情况:

额,我觉得这已经没有可比性了。。。除非您对中括号有特别的偏爱= =|||

效率

终于到重点了,执行效率自然是程序设计时不可忽略的一个点,于是我们尝试使用 timeit 来测试两者的执行效率:

恩,果然专业的事儿就要专业的函数来干!

参考文章

  1. operator.itemgetter or lambda

发表评论

电子邮件地址不会被公开。 必填项已用*标注