Python字符串处理小案例

连续5天30个小时的Python培训圆满结束,明天早上5点半出发赶飞机回烟台,晚上收拾行李的时候突然想起来20年前做过的一个C语言题目:假设有一个字符串,里面有若干字母o。要求如下:从前到后扫描,把每个字符删除并追加至字符串尾部,如果遇到字母o就删除,直至字符串处理结束。

本文代码主要演示字符串方法和切片的用法:

def demo(s, ch): result = [] for i in range(s.count(ch)): # 寻找第一个字符ch的位置 index = s.find(ch) if index != -1: result.append(s[:index]) # 缩短字符串 s = s[index+1:] # 把最后一个子字符串插入到列表头部 result.insert(0, s) return ''.join(result)

print(demo('abco123ojjjo1', 'o'))

运行效果:

1abc123jjj

这个问题还有很多解决的方法和代码,你要不要试试看?可以留言思路或代码。

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-04-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

码如其人,同学你能写一手漂亮的Python函数吗

与多数现代编程语言一样,在 Python 中,函数是抽象和封装的基本方法之一。你在开发阶段或许已经写过数百个函数,但并非每个函数都生而平等。写出「糟糕的」函数会...

15030
来自专栏C语言及其他语言

【编程经验】printf专题:你可能不知道的printf用法【文末有福利】

你可能不知道的printf用法 ? 不少小伙伴反映C语言只会用printf函数,但一些参数、返回值什么的还不了解,所以今天总结一二,给大家总结和梳理一下...

29480
来自专栏noteless

为什么需要创建型模式以及简单工厂模式(三)

但是,构造方法全都是一样的名字,使用创建型模式---比如工厂模式的话,你哪怕什么都不做

9520
来自专栏机器学习从入门到成神

设计模式之静态工厂、工厂方法和抽象工厂的联系与区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

9120
来自专栏Java学习网

Java中提高代码复用性的方法及规范总结

一个好的程序员一定是用最少的代码实现最多的功能,代码复用是程序员所追求和期望的,这也是Java语言所提倡的;根据以往开发经验整理了一些能够提高代码复用性方法和规...

45770
来自专栏magicsoar

确保你想要修改的char*是可以修改的

void change(char *source) { source[0] = 'D'; cout<<source<<endl; 考虑一下,你有...

20150
来自专栏老马说编程

计算机程序的思维逻辑 (14) - 类的组合

上节我们通过类Point介绍了类的一些基本概念和语法,类Point中只有基本数据类型,但类中的成员变量的类型也可以是别的类,通过类的组合可以表达更为复杂的概念。...

23390
来自专栏Vamei实验室

Java基础04 封装与接口

总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型。对象可以有状态和动作,即数据成员和方法。 到现在为止,数据成员和方法都是同时开放...

21770
来自专栏微信公众号:Java团长

Java基础04 封装与接口

总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型。对象可以有状态和动作,即数据成员和方法。

16720
来自专栏Java 源码分析

数据结构Generic

​ 接下来我们要处理的是前面实现里另一个 根本性的缺陷 那些实现只适用于字符串,想要实现其他类型数据的队列和栈怎么办呢? 这个问题就涉及泛型的话题了。 ​...

34240

扫码关注云+社区

领取腾讯云代金券