python3 空值排序求助

雷中听风 2018-06-18 06:14:08
现有一个列表
bb=[(1,‘a’,"this"),(2,'b',"that"),(3,'c',None)]

需要按第3列排序,None行排最后。
求助实现方法。
...全文
645 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
混沌鳄鱼 2018-06-19
  • 打赏
  • 举报
回复
如果逻辑要求不是那么严格的话可以这样

>>> b=[(1,'a',"this"),(2,'b',"that"),(3,'c',None)]
>>> sorted(bb, key=lambda x: x[2] or chr(255)*10 )
[(2, 'b', 'that'), (1, 'a', 'this'), (3, 'c', None)]
>>> 
雷中听风 2018-06-19
  • 打赏
  • 举报
回复
能讲下原理吗,or chr(255)*10就不会报错了呢?如果第三列是int呢?

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧