发布于2019-10-28 16:41 阅读(1554) 评论(0) 点赞(25) 收藏(2)
本文记录了python中字符串常用的切片操作,该操作也适用于列表、元组。同时记录了字符串的常用操作。
- '''
- 字符串 / 列表 / 元组 的切片操作,方式都一样,本段以字符串为例子
- 基本语法:
- obj.[start:end:step]
- 取值范围为 [start - end),左闭右开,step为步长(默认大小为1,方向从左往右)(个人理解:步长 = 间隔 + 1)
- '''
- s = '0123456789'
-
- print(s[3:7]) # 取出该索引区间(区间为:[3,7))的内容 --> 3456
- print(s[:]) # 取出s所有的内容 --> 0123456789
- print(s[2:]) # 从第2个索引处(index = 2)开始取出后面内容 --> 23456789
- print(s[:5]) # 从第0个索引处开始取出到该索引处(index = 5)的前一位的所有内容 --> 01234
- print(s[:-2]) # 从第0个索引处开始取出到倒数第2个索引处的前一位的所有内容 --> 01234567
- print(s[-4:-1]) # 从倒数第4个索引处开始取出到倒数第1个索引处的前一位的所有内容 --> 678
- print(s[1:8:2]) # 从第1个索引处(index = 1)开始,步长为2(每间隔1个字符取一位),到第8个索引处(index = 8)前一位结束 --> 1357
- print(s[::-1]) # 从后向前取,步长为1,方向从右向左 (即可完成逆置字符串的功能) --> 9876543210
-
-
- '''
- 常见的字符串操作,本例列举27个,操作区间为左闭右开
- '''
- sts = 'Made in china'
-
- print(sts.find('in')) # 在整个sts中查找是否存在'in',若存在,返回首字母下标,否则返回-1. --> 5
- print(sts.find('in', 1, 7)) # 在该区间[1, 7)中查找'in'是否存在. --> 5
- print(sts.find('in', 1, 6)) # 在[1, 6)中查找'in'是否存在. --> -1
- print(sts.rfind('in')) # 功能同上,但从右向左查. --> 10
-
- print(sts.index('in')) # 功能同上,但若没查找到则报异常,一般使用不带第二、三参数. -->5
- # print(sts.index('in', 1, 6)) # 在[1, 6)范围内查找. --> 会报错,因为该范围内没有'in'
- print(sts.rindex('in')) # 功能同上,但从右往左查. --> 10
-
- print(sts.count('in', 0, len(sts))) # 'in'在sts的该区间内出现的次数,一般可以不带第二、三参数. --> 2
-
- print(sts.replace('e', 'f', 3)) # 将'e'替换成'f',但修改的'e'的数量不超过3次,从左往右修改,若无第三参数则默认都修改. --> Madf in china
-
- print(sts.split('i', 2)) # 从左往右将'i'取消,第二个参数的数量,i两边的字符变成列表中的两个元素,若i连续,则用''代替. --> ['Made ', 'n ch', 'na']
-
- print(sts.capitalize()) # 将字符串开头字母大写,其他小写. --> Made in china
- print(sts.title()) # 所有单词的首字母大写,其他的小写. --> Made In China
-
- print(sts.startswith('M')) # 检查字符串是否以'M'开头,是返回True,否则返回False. --> True
- print(sts.endswith('a')) # 检查字符串是否已'a'结尾,是返回True,否则返回False. --> True
-
- print(sts.lower()) # 所有大写字母转为小写. --> made in china
- print(sts.upper()) # 小写转大写. --> MADE IN CHINA
-
- print(sts.ljust(16)) # 将16长度的字符串左对齐,没有字符的部分用空格代替. --> 'Made in china '
- print(sts.rjust(16)) # 右对齐. --> ' Made in china'
- print(sts.center(16)) # 居中. --> ' Made in china '
-
- print(sts.lstrip()) # 删除字符串左侧的空白符
- print(sts.rstrip()) # 删除右侧空白符
- print(sts.strip()) # 删除两端字符串
-
- print(sts.partition('in')) # 将sts分割成三部分,in前面的,in和in后面的,以元组返回. --> ('Made ', 'in', ' china')
- print(sts.rpartition('in')) # 功能同上,只是从右向左分割. --> ('Made in ch', 'in', 'a')
-
- print(sts.splitlines()) # 按照行分割成列表中不同的元素
-
- print(sts.isalpha()) # 如果sts全部是字母,则返回True,否则False. --> False
- print(sts.isdigit()) # 如果全是数字,则返回True,否则False. --> False
- print(sts.isalnum()) # 如果只由字母或数字组成,则返回True,否则False. --> False
- print(sts.isspace()) # 如果只有空格,则返回True,否则False. --> False
-
- #将list中的每个元素之间插入整个sts,并将列表返回为一个字符串
- list = ['b', 'e', 'i']
- print(sts.join(list)) # --> bMade in chinaeMade in chinai. 若sts == '',则可实现list转string
-
-
- '''
- 顺便提一下,本人目前没有找到可直接操作字符串进行删除某些字符的方法,
- 但可以通过将str转为List之后删除,再将List通过join()转为str即可。有好方法的朋友请留言,感谢!
- '''
作者:磨子舒
链接:https://www.pythonheidong.com/blog/article/147257/a810be856567dd5f65d2/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!