1、lambda 定义了一个匿名函数
2、lambda 并不会带来程序运行效率的提高,只会使代码更简洁。
3、如果可以使用for...in...if来完成的,坚决不用lambda。
4、如果使用lambda,lambda内不要包含循环,如果有,宁愿定义函数来完成,使代码获得可重用性和更好的可读性。
针对字典进行排序
>>> d1={'a':6,'f':8,'d':4,'e':5}
>>> d1.items()
dict_items([('a', 6), ('f', 8), ('d', 4), ('e', 5)])
>>> a=sorted(d1.items(),key=lambda item:item[1],reverse=True)
>>> a
[('f', 8), ('a', 6), ('e', 5), ('d', 4)]
>>>
>>> b=sorted(d1.items(),key=lambda item:item[0])
>>> b
[('a', 6), ('d', 4), ('e', 5), ('f', 8)]
针对数组,其每个元素为字典,按照字典的某个key进行排序
>>> d2=[{'time':5,'msg':'sss'},{'time':7,'msg':'tyy'},{'time':4,'msg':'grg'},{'time':6,'msg':'ght'}]
>>> d2.sort(key=lambda item:item['time'],reverse=True)
>>> d2
[{'time': 7, 'msg': 'tyy'}, {'time': 6, 'msg': 'ght'}, {'time': 5, 'msg': 'sss'}, {'time': 4, 'msg': 'grg'}]
>>>
>>> d2.sort(key=lambda item:item['msg'])
>>> d2
[{'time': 6, 'msg': 'ght'}, {'time': 4, 'msg': 'grg'}, {'time': 5, 'msg': 'sss'}, {'time': 7, 'msg': 'tyy'}]
网友评论