问题提出
在Python语言中,对于一个给定的字符串,要求处理后得到的一个新字符串满足以下两个条件:
字符串中包含的字母全部转换为大写字母
每2个字符之间以空格进行分割
在Python语言中应怎样代码实现呢?如对于下面的字符串:
处理后得到的一个新字符串应为:
解决方法
此处列出三种方法,写了三个函数实现这个功能,供大家参考。
方法1,在for循环中每次取2个字符,直接以“+”运算符与空格连接,函数代码如下:
方法2,使用正则表达式模块re,进行匹配处理并以字符串的“join”函数连接,函数代码如下:
方法3,使用字符串的“join”函数连接,与使用For循环不同的是,使用列表推导的方式得到待连接的字符串数组,函数代码如下:
使用上面的三种方法都可以实现上面提出的功能要求。那么,这三种方法在运行效率上哪种好呢?下面对原字符串扩充为其100倍长度,然后执行10000次处理,看执行结果如何。完整的测试代码如下:
运行结果如下:
结论
从其耗时结果上看,第一种方法最慢,第二、三种方法较好。
领取专属 10元无门槛券
私享最新 技术干货