关于小悟志网站地图归档友情链接联系Feed

云上小悟 + 

在排序函数中使用Lambda表达式(Python)

InfoTech
2016年11月28日 / 462次阅读
标签:麦新杰用Python

拍拍贷

文章《在排序函数中使用Lambda表达式(Python)》的特色图片

Python内置一个很好用的排序函数:sorted(),此函数返回一个可迭代对象;

Python中可迭代对象支持一个sort函数,直接对对象本身进行操作。

这两个函数的用法是一样的,关键是key参数,这个参数确定了根据什么来进行排序,key值是一个函数对象,正好可以利用Lambda表达式来轻松实现。

 

下面这段实例代码,针对同一个list,采用不同的key来排序:

def testSort(): 
    """ test sort function
    """       
    # test lambda expression and advanced sort
    fs = [(1,5,9),(41,2,0),(5,8,99),(9,1,21),(43,26,7)]
    
    print(sorted(fs))
    print(sorted(fs,reverse=True)) # default is to use the first deep element
    print('--------')
    
    print(sorted(fs, key=lambda x:x[1])) # x means fs[0],fs[1]...
    print(sorted(fs, key=lambda x:x[1], reverse=True)) # use the second element
    print('--------')
    
    print(sorted(fs, key=lambda x:x[2]))
    print(sorted(fs, key=lambda x:x[2], reverse=True))
    print('--------')
    
    print(sorted(fs, key=lambda x:x[0]**2))
    print(sorted(fs, key=lambda x:x[0]**2, reverse=True))
    print('--------')
    
    print(sorted(fs, key=lambda x:x[0]+x[2]))
    print(sorted(fs, key=lambda x:x[0]+x[2], reverse=True))
    print('--------')
    
    # list.sort() function is the same.
    
    return
#---- End of Function: testSort

 

本文链接:http://www.maixj.net/ict/lambda-python-13693
云上小悟 麦新杰(QQ:1093023102)

-- (*^-^*) --

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号苏ICP备14045477号-1

网站二维码
拍拍贷
go to top