最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Python3萌新入门笔记(5)

Python教程 小楼一夜听春语 10964浏览 0评论

继续上一篇教程,我们来了解字符串的相关操作。

8、去除字符串两侧指定内容

字符串去除两侧指定内容的方法有三种:

  • strip(chars) :去除字符串两侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串两侧所有空格。
  • lstrip(chars)  :去除字符串左侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串左侧所有空格。
  • rstrip(chars) :去除字符串右侧的指定内容,并且,可以同时去除多个相同的指定内容;参数chars为指定的一个或多个字符,不填入该参数则去除字符串右侧所有空格。

大家可以尝试运行下方这段代码:

str1 = '   人人为我 我为人人   '
str2 = '人人为我 我为人人'

print (str1)
print (str1.strip())
print (str1.lstrip())
print (str1.rstrip())
print (str2.strip('人'))
print (str2.lstrip('人'))
print (str2.rstrip('人'))
print (str2.strip('人人为'))

运行代码之后,显示的结果为:

9、字符串查询

字符串查询的方法有两种:

第一种:index(sub,start,end)和rindex(sub,start,end)

index方法是从左至右查询,rindex方法是从右至左查询;

参数sub是指被查询的字符或字符串,参数start是查询的起始位置,参数end是查询的终止位置(终止位置不在查询范围内);

参数start和参数end可以同时省略,这时为查询字符串中全部字符;也可以只省略参数end,表示查询范围为起始位置至末尾。

大家可以尝试运行下方这段代码:

s = '人人为我,我为人人。'

print (s.index('人')) # 从左向右查询全部字符
print (s.index('人',2)) # 从左侧第3个字符开始向右查询至末尾
print (s.rindex('人')) # 从右向左查询全部字符
print (s.rindex('人',0,8)) # 从右侧第9个字符之前向左查询至首位

运行代码之后,显示的结果为:

第二种:find(sub,start,end)和rfind(sub,start,end)

这两个函数和index函数以及rindex函数作用相同,并且用法相同。

但是,当没有查询结果时,index函数与rindex函数会提示错误:ValueError:substring not find(值错误:未发现被查询的字符串)。

而另外的两个函数,find函数和rfind函数,在没有查询结果时,返回值为-1。

大家可以尝试运行下方这段代码:

s = '人人为我,我为人人。'

print (s.find('地'))
print (s.index('地'))

运行代码之后,显示的结果为:

10、字符串中字符的计数

字符串的计数方法是count(x,start,end),这个函数可以统计字符串中被查询的字符或字符串出现的次数。

参数x是指被查询的字符或字符串,参数start是查询的起始位置,参数end是查询的终止位置(终止位置不在查询范围内);

参数start和参数end可以同时省略,这时为查询字符串中全部字符;也可以只省略参数end,表示查询范围为起始位置至末尾。

大家可以尝试运行下方这段代码:

s = '人人为我,我为人人。'

print (s.count('人')) # 计算字符串中被查询字符或字符串出现的次数
print (s.count('人人')) # 计算字符串中被查询字符或字符串出现的次数
print (s.count('人',0,8)) # 计算从字符串首位到第9个字符(不含第9个字符)之间被查询字符或字符串出现的次数

运行代码之后,显示的结果为:

关于字符串的相关操作就为大家介绍到这里。

本节知识点:

1、去除字符串两侧指定内容;

2、字符串查询;

3、字符串中字符的计数。

本节英文单词与中文释义:

1、strip:去除

2、index:索引

3、find:查找

4、count:计数

5、start:开始

6、end:结束

7、chars:字符

8、sub:附属

练习:

统计“3.1415926535897932384626”中,小数点之后”3″出现的次数。

答案:(见评论1楼)

转载请注明:魔力Python » Python3萌新入门笔记(5)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (9)

  1. 小楼一夜听春语
    练习题:
    s = '3.1415926535897932384626'
    print (s.count('3',s.find('.')))
    
    小楼一夜听春语7年前 (2017-07-05)回复
    • 头像
      习题不错,我直接用了数字,囧
      走路爱走神7年前 (2018-05-24)回复
  2. 头像
    "print (s.rindex('人',0,8)) # 从右侧第9个字符之前向左查询至首位"囧 这个解释看了半天,大神这个是不是应该是从右则第8个字符开始(索引位置7)开始往右到首位
    kaixulucky6年前 (2018-11-22)回复
    • 小楼一夜听春语
      第9个之前不就是从第8个开始算?
      小楼一夜听春语6年前 (2018-11-22)回复
  3. 头像
    写的很到位,受益匪浅
    ado6年前 (2018-12-14)回复
  4. 头像
    s = '3.1415926535897932384626' print(s[2:].count('3'))
    亲猪日狗6年前 (2019-02-28)回复
  5. 头像
    print(s.count('3',2))
    grace6年前 (2019-04-25)回复
  6. 头像
    x='3.1415926535897932384626' print(x[x.find('.')::].count('3'))
    面条君c5年前 (2019-07-09)回复
    • 头像
      朋友,殊途同归~牛逼
      寒风5年前 (2019-08-19)回复