python中 字符串的下标与切片

1.字符串中"下标"的使用

列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。

如果有字符串:name = 'abcdef',在内存中的实际存储如下:

 

 

 

如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始)

name = 'abcdef'

print(name[0])

print(name[1])

print(name[2])

2.切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

切片的语法:[起始:结束:步长]:

注意:选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。

name = 'abcdef'

print(name[0:3]) # 取 下标0~2 的字符

name = 'abcdef'

print(name[2:]) # 取 下标为2开始到最后的字符

name = 'abcdef'

print(name[1:-1]) # 取 下标为1开始 到 最后第2个 之间的字符

3.字符串常用操作

 

find

检测 str 是否包含在 mystr的0-len 位中   返回0 表示包含,1 表示不包含

mystr.find(str, start=0, end=len(mystr))

index

判断str 在mystr 在数组中的位置

print(mystr.index(str, 0, len(mystr)))

结果:0

count

返回 str在start和end之间 在 mystr里面出现的次数

mystr = 'abcd'

str = 'ab'

print(mystr.count(str, 0, len(mystr)))

结果:1

 

replace

把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.

mystr = 'abcd'

str1 = 'ab'

str2 = 'e'

print(mystr.replace(str1, str2, mystr.count(str1)))

结果:ecd

 

split

以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 2次,后面的不再分隔

mystr = 'a b c d'

print(mystr.split(" ", 2))  

结果:['a', 'b', 'c d']

capitalize

把字符串的第一个字符大写

mystr = 'a b c d'

mystr.capitalize()

结果:Ab c d

 

title

把字符串的每个单词首字母大写

mystr = 'ab c d'

print(mystr.title())

结果:Ab C D

 

startswith

检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False

mystr.startswith(obj)

endswith

检查字符串是否以obj结束,如果是返回True,否则返回 False.

mystr.endswith(obj)

lower

转换 mystr 中所有大写字符为小写

mystr.lower()

upper

转换 mystr 中的小写字母为大写

mystr.upper()

ljust

返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

mystr.ljust(width)

rjust

返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

mystr.rjust(width)

center

返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

mystr.center(width)

lstrip

删除 mystr 左边的空白字符

mystr.lstrip()

rstrip

删除 mystr 字符串末尾的空白字符

mystr.rstrip()

strip

删除mystr字符串两端的空白字符

 

rfind

类似于 find()函数,不过是从右边开始查找.

mystr.rfind(str, start=0,end=len(mystr) )

rindex

类似于 index(),不过是从右边开始.

mystr = 'abcd'

print(mystr.rindex('c', 0, len(mystr)))

结果:2

 

partition

把mystr以str分割成三部分,str前,str和str后

mystr = 'i love you'

str = 'love'

print(mystr.partition(str))

结果:('i ', 'love', ' you')

 

rpartition

类似于 partition()函数,不过是从右边开始.

mystr.rpartition(str)

splitlines

按照行分隔,返回一个包含各行作为元素的列表

mystr = 'i love baby\nditto'
print(mystr.splitlines())

结果:['i love baby', 'ditto']

 

isalpha

如果 mystr 所有字符都是字母 则返回 True,否则返回 False

 

isdigit

如果 mystr 只包含数字则返回 True 否则返回 False.

mystr.isdigit()

isalnum

如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False

mystr.isalnum()

isspace

如果 mystr 中只包含空格,则返回 True,否则返回 False.

mystr.isspace()

 

join

mystr 中每个字符后面插入str,构造出一个新的字符串

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
回答: 在Python,可以使用字符串下标来查询特定位置的字符。根据规则,字符串下标从0开始计数,正向顺序从左到右,逆向顺序从右到左。例如,对于字符串s="Python",s\[0\]表示第一个字符P,s\[1\]表示第二个字符y,以此类推。同时,可以使用负数下标来从右向左查询字符,例如s\[-1\]表示最后一个字符n,s\[-2\]表示倒数第二个字符o,以此类推。\[1\]所以,如果要查询字符串s的多个字符,可以使用多个下标来获取相应的字符。例如,s\[0\],s\[1\],s\[2\],s\[3\],s\[4\],s\[5\]会分别返回P,y,t,h,o,n。\[3\]另外,还可以使用切片来获取字符串的一部分。例如,s\[0:-1\]会返回"Pytho",表示从第一个字符到倒数第二个字符之间的子串。s\[0:-2\]会返回"Pyth",表示从第一个字符到倒数第三个字符之间的子串。\[3\] #### 引用[.reference_title] - *1* *3* [Python字符串下标](https://blog.csdn.net/m0_37592063/article/details/127278764)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Python字符串下标(索引)](https://blog.csdn.net/weixin_48728769/article/details/123819536)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独行客-编码爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值