资讯专栏INFORMATION COLUMN

[零基础学python]玩转字符串(3)

Cc_2011 / 2041人阅读

摘要:字符串是一个很长的话题,纵然现在开始第三部分,但是也不能完全说尽。字符串就是一个话题中心。也就是和是指向同一个字符。字符串截取有了编号,不仅仅能够找出某个字符,还能在字符串中取出一部分来。

字符串是一个很长的话题,纵然现在开始第三部分,但是也不能完全说尽。因为字符串是自然语言中最复杂的东西,也是承载功能最多的,计算机高级语言编程,要解决自然语言中的问题,让自然语言中完成的事情在计算机上完成,所以,也不得不有更多的话题。

字符串就是一个话题中心。

给字符串编号

在很多很多情况下,我们都要对字符串中的每个字符进行操作(具体看后面的内容),要准确进行操作,必须做的一个工作就是把字符进行编号。比如一个班里面有50名学生,如果这些学生都有学号,老师操作他们将简化很多。比如不用专门找每个人名字,直接通过学号知道谁有没有交作业。

在python中按照这样的顺序对字符串进行编号:从左边第一个开始是0号,向下依次按照整数增加,为1、2...,直到最后一个,在这个过程中,所有字符,包括空格,都进行变好。例如:

Hello,wor ld

对于这个字符串,从左向右的变好依次是:

0 1 2 3 4 5 6 7 8 9 10 11
H e l l o , w o r l d

在班级了,老师只要喊出学生的学号,自动有对应的学生站起来。在python里面如何把某个编号所对应的字符调出来呢?看代码:

>>> a = "Hello,wor ld"
>>> 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,wor ld”里面取出“llo”。可以这样操作

>>> a[2:5]
"llo"

这就是截取字符串的一部分,注意:所截取部分的第一个字符(l)对应的编号是(2),从这里开始;结束的字符是(o),对应编号是(4),但是结束的编号要增加1,不能是4,而是5.这样截取到的就是上面所要求的了。

试一试,怎么截取到",wor"

也就是说,截取a[n,m],其中n

有几个比较特殊的

>>> a[:]    #表示截取全部
"Hello,wor ld"
>>> a[3:]   #表示从a[3]开始,一直到字符串的最后
"lo,wor ld"
>>> 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 "please write your name:"
name=raw_input()
print "Hello,%s"%name

这段代码中的raw_input()的含义,就是要用户输入内容,所输入的内容是一个字符串。

其实,上面这段代码存在这改进的地方,比如,如果用户输入的是小写,是不是要将名字的首字母变成大写呢?如果有空格,是不是要去掉呢?等等。或许还有别的,看看能不能在这个练习中,将以前学习过的东西综合应用一下?

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37321.html

相关文章

  • [基础python]玩转符串(1)

    摘要:操练一下字符串吧。它是在告诉计算机,它里面包裹着的是一个字符串。连接字符串方法在中按照下面方法操作老齐教老齐教这是一种最简单连接两个字符串的方法。请看官字符编码就知道了。 如果对自然语言分类,有很多中分法,比如英语、法语、汉语等,这种分法是最常见的。在语言学里面,也有对语言的分类方法,比如什么什么语系之类的。我这里提出一种分法,这种分法尚未得到广大人民群众和研究者的广泛认同,但是,我相...

    eechen 评论0 收藏0
  • [基础python]玩转符串(2)

    摘要:根据这个定义,在里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符表示那个位置是整数,表示那个位置应该是字符串。啰嗦半天,占位符是不是理解了呢下面我们就用占位符来连接字符串。 上一章中已经讲到连接两个字符串的一种方法。复习一下: >>> a= py >>> b= thon >>> a+b python 既然这是一种方法,言外之意,还有...

    KnewOne 评论0 收藏0
  • [基础Python]玩转符串(2)(更新发布)

    摘要:根据这个定义,在里面规定了一些占位符,通过这些占位符来说明那个位置应该填写什么类型的东西,这里暂且了解两个占位符表示那个位置是整数,表示那个位置应该是字符串。啰嗦半天,占位符是不是理解了呢下面我们就用占位符来连接字符串。 感谢网友白羽毛的帮助。 上一章中已经讲到连接两个字符串的一种方法。复习一下: >>> a= py >>> b= thon >>> a+b python 既然这...

    yearsj 评论0 收藏0
  • [基础python]有容乃大的list(1)

    摘要:定义在中,用方括号表示一个,在方括号里面,可以是,也可以是类型的数据,甚至也能够是这种布尔值。前面在对进行操作的时候,有一些内置函数,比如,这是去掉左右空格的内置函数,也是的方法。 前面的学习中,我们已经知道了两种python的数据类型:int和str。再强调一下对数据类型的理解,这个世界是由数据组成的,数据可能是数字(注意,别搞混了,数字和数据是有区别的),也可能是文字、或者是声音、...

    lewif 评论0 收藏0
  • Python者的资源总结

    摘要:图文教程教程廖雪峰的编程教室微信公众号快速教程零基础学,地址老齐学习笔记第二版个人点评我是跟着的编程教室的微信公众号每天学习一课来学习的,当时的动力是据说女神也在学完习,后来也看过廖雪峰老师的教程,和老齐的没有看过。 之前看到了 汪汪汪不是我的语言 在 喵在野 的基础上写的这篇文章《Python 零基础入门资料整理(更新版)》,感觉实在是太简陋了。虽说是针对初学者的Python零基础入...

    AJie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<