跟老齐学Python之玩转字符串(3)
字符串就是一个话题中心。
给字符串编号
在很多很多情况下,我们都要对字符串中的每个字符进行操作(具体看后面的内容),要准确进行操作,必须做的一个工作就是把字符进行编号。比如一个班里面有50名学生,如果这些学生都有学号,老师操作他们将简化很多。比如不用专门找每个人名字,直接通过学号知道谁有没有交作业。
在python中按照这样的顺序对字符串进行编号:从左边第一个开始是0号,向下依次按照整数增加,为1、2...,直到最后一个,在这个过程中,所有字符,包括空格,都进行变好。例如:
Hello,world
对于这个字符串,从左向右的变好依次是:
01234567891011 Hello,world
在班级了,老师只要喊出学生的学号,自动有对应的学生站起来。在python里面如何把某个编号所对应的字符调出来呢?看代码:
>>>a="Hello,world" >>>len(a)#字符串的长度是12,说明公有12个字符,最后一个字符编号是11 12 >>>a[0] "H" >>>a[3] "l" >>>a[9] "" >>>a[11] "d" >>>a[5] ","
特别说明,编号是从左边开始,第一个是0。
能不能从右边开始编号呢?可以。这么人见人爱的python难道这点小要求都不满足吗?
>>>a[-1] "d" >>>a[11] "d" >>>a[-12] "H" >>>a[-3] ""
看到了吗?如果从右边开始,第一个编号是-1,这样就跟从左边区分开了。也就是a[-1]和a[11]是指向同一个字符。
不管从左边开始还是从右边开始,都能准确找到某个字符。看官喜欢从哪边开始就从哪边开始,或者根据实际使用情况,需要从哪边开始就从哪边开始。
字符串截取
有了编号,不仅仅能够找出某个字符,还能在字符串中取出一部分来。比如,从“hello,world”里面取出“llo”。可以这样操作
>>>a[2:5] "llo"
这就是截取字符串的一部分,注意:所截取部分的第一个字符(l)对应的编号是(2),从这里开始;结束的字符是(o),对应编号是(4),但是结束的编号要增加1,不能是4,而是5.这样截取到的就是上面所要求的了。
试一试,怎么截取到",wor"
也就是说,截取a[n,m],其中n<m,得到的字符是从a[n]开始到a[m-1]
有几个比较特殊的
>>>a[:]#表示截取全部 "Hello,world" >>>a[3:]#表示从a[3]开始,一直到字符串的最后 "lo,world" >>>a[:4]#表示从字符串开头一直到a[4]前结束 "Hell"
去掉字符串两头的空格
这个功能,在让用户输入一些信息的时候非常有用。有的朋友喜欢输入结束的时候敲击空格,比如让他输入自己的名字,输完了,他来个空格。有的则喜欢先加一个空格,总做的输入的第一个字前面应该空两个格。
好吧,这些空格是没用的。python考虑到有不少人可能有这个习惯,因此就帮助程序员把这些空格去掉。
方法是:
S.strip()去掉字符串的左右空格
S.lstrip()去掉字符串的左边空格
S.rstrip()去掉字符串的右边空格
看官在看下面示例之前,请先自己用上面的内置函数,是否可以?
>>>b="hello" >>>b "hello" >>>b.strip() "hello" >>>b "hello" >>>b.lstrip() "hello" >>>b.rstrip() "hello"
练习
学编程,必须做练习,通过练习熟悉各种情况下的使用。
下面共同做一个练习:输入用户名,计算机自动向这个用户打招呼。代码如下:
#coding:utf-8 print"pleasewriteyourname:" name=raw_input() print"Hello,%s"%name
这段代码中的raw_input()的含义,就是要用户输入内容,所输入的内容是一个字符串。
其实,上面这段代码存在这改进的地方,比如,如果用户输入的是小写,是不是要将名字的首字母变成大写呢?如果有空格,是不是要去掉呢?等等。或许还有别的,看看能不能在这个练习中,将以前学习过的东西综合应用一下?
相关文章
- Python 编程 | 连载 02 - 数字与字符串
- Python:将列表转为字符串的3种方法「建议收藏」
- 使用python的Django库开发一个简单的数据可视化网站(一)- 基本环境安装及配置
- python制作自动交易程序_Python如何实现自动化交易
- 4.Python中条件语句使用方法(if语句、if嵌套)
- pycharm如何调试python程序_Pycharm断点调试Python程序的步骤方法
- Python办公自动化之 openpyxl 操作 Excel
- Python量化程序(示例)
- Linux Python开发平台Ubuntu
- Python字符串格式化是什么意思?Python字符串格式化输出方式语法详解
- Python if else语句:if else组合语句结构用法及注意事项
- 【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )
- Python学习:6.python内置函数详解编程语言
- 使用python遍历文件夹取出特定的字符串详解编程语言
- Linux上的Python之旅(linux自带python)
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- Python玩转Redis:提升缓存效率(python使用redis)
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)
- Python时间处理datetime实例
- Python时间戳与时间字符串互相转换实例代码
- python检测lvsrealserver状态
- Python对象体系深入分析
- python字符串替换的2种方法
- 跟老齐学Python之玩转字符串(1)
- 跟老齐学Python之玩转字符串(2)