[python]一行搞定字符串排序

news/2024/7/2 20:31:21


[python]一行搞定字符串排序

本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),欢迎转载,但请保留本声明。

一般情况下,python中对一个字符串排序相当麻烦:
 一、python中的字符串类型是不允许直接改变元素的。必须先把要排序的字符串放在容器里,如list。

 二、python中的list容器的sort()函数没返回值。

所以在python中对字符串排序需要好几行代码:
>>> s = "string"
>>> l = list(s)
>>> l.sort()
>>> s = "".join(l)
>>> s
'ginrst'

刚从C/C++等语言转过来的程序员会觉得很不爽,因为在C/C++里这些都是一行语句可以搞定的事情。所以我就想出一行把字符串排序的方法:
>>> s = "string"
>>> s = "".join((lambda x:(x.sort(),x)[1])(list(s)))
>>> s
'ginrst'

因为用了lambda,稍为有点难理解,但想通了就好了~嘻嘻。

其实我花了很长时间去想有没有方法不使用lambda达成同样的效果,但我实在是想不到。如果有达人经过,就请给点提示吧~谢谢。 





http://www.niftyadmin.cn/n/3647642.html

相关文章

白嫖党最爱!5面蚂蚁3面拼夕夕2面字节,从理论到实践!

前言 消息中间件作为分布式系统的重要成员,各大公司及开源均有许多解决方案。目前主流的开源解决方案包括RabbitMQ、RocketMQ、Kafka、ActiveMQ等。消息这个东西说简单也简单,说难也难。简单之处在于好用方便,接入简单使用简单,异…

程序员必知必会之Email篇

本文最初由恋花蝶发表于http://blog.csdn.net/lanphaday,可以随意转载,但未经同意不得增删修改,转载应保留本声明,否则追究责任。常在河边走,哪能不湿鞋;常上网上留Email,哪能不收别人邮件&…

白嫖党最爱!这位阿里P7大牛分析总结的属实到位,含面试题+答案

分布式事务 随着互联网快速发展,微服务,SOA 等服务架构模式正在被大规模的使用,现在分布式系统一般由多个独立的子系统组成,多个子系统通过网络通信互相协作配合完成各个功能。 有很多用例会跨多个子系统才能完成,比…

·python·用生成器和迭代器实现自己的xrange

python用生成器和迭代器实现自己的xrange声明:本文由恋花蝶发表于http://blog.csdn.net/lanphaday,版权所有,欢迎转载。转载时应保留声明。谢谢。用过python的朋友一定很熟悉下面这两行代码:>>> for i in xrange(0,10,1)…

直面春招!最全MyBatis中XML映射文件标签分析+示例!感悟分享

前言 关于为什么要有分布式锁这个东西,欢迎阅读我的zk分布式锁的实现,介绍了单机高并发、分布式高并发的解决方案: 用ZooKeeper实现分布式锁 这里再切入本例将使用的场景模拟:商品秒杀,或者说高并发下,对…

栈的弹出函数pop()实现方案探讨

我想就上面的你说的3、4两条谈谈。STL的确是没有返回两个参数,甚至没有返回参数。std::stack::pop方法的声明形式是void pop()。也许各个版本有所不同,但SGI STL和STLport是这样的。作为使用最广泛的两种STL实现,我们完全可以认为这是业界认为…

想搞清楚ZooKeepe?助你面试一臂之力,含泪整理面经

接口概述: 接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8),额外增…

从实例重温工厂模式和单件模式

本文由恋花蝶最初发表于:http://blog.csdn.net/lanphaday,你可以在保持文章完整和保留本声明的情况下转帖、分发和印刷等。http://community.csdn.net/Expert/topic/4892/4892570.xml?temp.8727381今天一个好朋友发了上面这个贴,并邀我过去看…