程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

Python字符串、列表、元组切片操作,以及字符串的常用操作

发布于2019-10-28 16:41     阅读(1554)     评论(0)     点赞(25)     收藏(2)


本文记录了python中字符串常用的切片操作,该操作也适用于列表、元组。同时记录了字符串的常用操作。

 

  1. '''
  2. 字符串 / 列表 / 元组 的切片操作,方式都一样,本段以字符串为例子
  3. 基本语法:
  4. obj.[start:end:step]
  5. 取值范围为 [start - end),左闭右开,step为步长(默认大小为1,方向从左往右)(个人理解:步长 = 间隔 + 1)
  6. '''
  7. s = '0123456789'
  8. print(s[3:7]) # 取出该索引区间(区间为:[3,7))的内容 --> 3456
  9. print(s[:]) # 取出s所有的内容 --> 0123456789
  10. print(s[2:]) # 从第2个索引处(index = 2)开始取出后面内容 --> 23456789
  11. print(s[:5]) # 从第0个索引处开始取出到该索引处(index = 5)的前一位的所有内容 --> 01234
  12. print(s[:-2]) # 从第0个索引处开始取出到倒数第2个索引处的前一位的所有内容 --> 01234567
  13. print(s[-4:-1]) # 从倒数第4个索引处开始取出到倒数第1个索引处的前一位的所有内容 --> 678
  14. print(s[1:8:2]) # 从第1个索引处(index = 1)开始,步长为2(每间隔1个字符取一位),到第8个索引处(index = 8)前一位结束 --> 1357
  15. print(s[::-1]) # 从后向前取,步长为1,方向从右向左 (即可完成逆置字符串的功能) --> 9876543210
  16. '''
  17. 常见的字符串操作,本例列举27个,操作区间为左闭右开
  18. '''
  19. sts = 'Made in china'
  20. print(sts.find('in')) # 在整个sts中查找是否存在'in',若存在,返回首字母下标,否则返回-1. --> 5
  21. print(sts.find('in', 1, 7)) # 在该区间[1, 7)中查找'in'是否存在. --> 5
  22. print(sts.find('in', 1, 6)) # 在[1, 6)中查找'in'是否存在. --> -1
  23. print(sts.rfind('in')) # 功能同上,但从右向左查. --> 10
  24. print(sts.index('in')) # 功能同上,但若没查找到则报异常,一般使用不带第二、三参数. -->5
  25. # print(sts.index('in', 1, 6)) # 在[1, 6)范围内查找. --> 会报错,因为该范围内没有'in'
  26. print(sts.rindex('in')) # 功能同上,但从右往左查. --> 10
  27. print(sts.count('in', 0, len(sts))) # 'in'在sts的该区间内出现的次数,一般可以不带第二、三参数. --> 2
  28. print(sts.replace('e', 'f', 3)) # 将'e'替换成'f',但修改的'e'的数量不超过3次,从左往右修改,若无第三参数则默认都修改. --> Madf in china
  29. print(sts.split('i', 2)) # 从左往右将'i'取消,第二个参数的数量,i两边的字符变成列表中的两个元素,若i连续,则用''代替. --> ['Made ', 'n ch', 'na']
  30. print(sts.capitalize()) # 将字符串开头字母大写,其他小写. --> Made in china
  31. print(sts.title()) # 所有单词的首字母大写,其他的小写. --> Made In China
  32. print(sts.startswith('M')) # 检查字符串是否以'M'开头,是返回True,否则返回False. --> True
  33. print(sts.endswith('a')) # 检查字符串是否已'a'结尾,是返回True,否则返回False. --> True
  34. print(sts.lower()) # 所有大写字母转为小写. --> made in china
  35. print(sts.upper()) # 小写转大写. --> MADE IN CHINA
  36. print(sts.ljust(16)) # 将16长度的字符串左对齐,没有字符的部分用空格代替. --> 'Made in china '
  37. print(sts.rjust(16)) # 右对齐. --> ' Made in china'
  38. print(sts.center(16)) # 居中. --> ' Made in china '
  39. print(sts.lstrip()) # 删除字符串左侧的空白符
  40. print(sts.rstrip()) # 删除右侧空白符
  41. print(sts.strip()) # 删除两端字符串
  42. print(sts.partition('in')) # 将sts分割成三部分,in前面的,in和in后面的,以元组返回. --> ('Made ', 'in', ' china')
  43. print(sts.rpartition('in')) # 功能同上,只是从右向左分割. --> ('Made in ch', 'in', 'a')
  44. print(sts.splitlines()) # 按照行分割成列表中不同的元素
  45. print(sts.isalpha()) # 如果sts全部是字母,则返回True,否则False. --> False
  46. print(sts.isdigit()) # 如果全是数字,则返回True,否则False. --> False
  47. print(sts.isalnum()) # 如果只由字母或数字组成,则返回True,否则False. --> False
  48. print(sts.isspace()) # 如果只有空格,则返回True,否则False. --> False
  49. #将list中的每个元素之间插入整个sts,并将列表返回为一个字符串
  50. list = ['b', 'e', 'i']
  51. print(sts.join(list)) # --> bMade in chinaeMade in chinai. 若sts == '',则可实现list转string
  52. '''
  53. 顺便提一下,本人目前没有找到可直接操作字符串进行删除某些字符的方法,
  54. 但可以通过将str转为List之后删除,再将List通过join()转为str即可。有好方法的朋友请留言,感谢!
  55. '''

 

 

 

 

 

 



所属网站分类: 技术文章 > 博客

作者:磨子舒

链接:https://www.pythonheidong.com/blog/article/147257/a810be856567dd5f65d2/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

25 0
收藏该文
已收藏

评论内容:(最多支持255个字符)