1. 字符串的操作与方法

1.1 字符串取值

根据索引取值(下标)语法格式:字符串名[索引值]使用场景:取单个字符时使用
# 案例:分别获取字符串runoob的第一个字符和最后一个字符
# 正序最大的索引值是:[0,len(str)-1]
str1 = 'runoob'
print('runoob的第一个字符:',str1[0])
print('runoob的最后一个字符:',str1[5])
print('runoob的最后一个字符:',str1[-1])
print('runoob的最后一个字符:',str1[len(str1)-1])

1.2 字符串切片

语法格式:字符串名[start:end:step]  step不写的话默认值=1
取头不取尾
# 案例:对'haha bb python'分别以正序和反序的方式获取第一个单词和最后一个单词str1 = 'haha bb python'
print('获取第一个单词:',str1[0:5:1]) # 0,1,2,3,4
print('获取第一个单词:',str1[0:5]) # 0,1,2,3,4
# start索引值+step = 下一个字符的索引值
# 0 -- 0+1 = 1  --  1+1=2 -- 2+1=3 -- 3+1=4 --4+1=5(不取)# 结束:当前的字符的索引值=end
# 取头不取尾:start值是可以取到的,序列值的最后一个不取
print('获取最后一个单词:',str1[10:16:1]) # 10,11,12,13,14,15
print('获取最后一个单词:',str1[10:16]) # 10,11,12,13,14,15
print('获取最后一个单词:',str1[-6::1]) # -6,-5,-4,-3,-2,-1
print('获取最后一个单词:',str1[-6::]) # -6,-5,-4,-3,-2,-1# 获取索引值是2的倍数对应的索引的字符
print('获取最后一个单词:',str1[2:15:2]) # 2,4,6,8,10,12,14# 常用用法
str1 = 'haha bb python'
#  [:]          提取从开头到结尾的整个字符串
print(str1[:])# [start:]        从start提取到结尾
print(str1[6:])
print(str1[10:])# [:end]        从开头提取到end-1
print(str1[:5])# [start:end]   从start提取到end-1# [::-1]    倒序输出
print(str1[::-1])# -1n ,-2o,-3h,-4t,-5,.........
当step缺省时,默认为1;当step大于0且start缺省时,start默认为0;当step大于0且end缺省时,end默认为len(a)-1
当step<0并且start缺省时,start默认为-1;当step<0并且end缺省时,end默认为-len(a)-1

1.3 字符串常用的方法

判断字符串是否以 XX 开头字:字符串名.startswith('字符串'),结果是一个布尔值
判断字符串是否以 XX 结尾:字符串名.endswith('字符串'),结果是一个布尔值
判断字符串是否是纯数字组成:字符串名.isdigit(),结果是一个布尔值
去除字符串两边的指定字符(空格、换行符、制表符):字符串名.strip('指定字符'),不会改变原字符串
字符串变大写:字符串名.upper(),不会改变原字符串
字符串变小写:字符串名.lower() ,不会改变原字符串
字符串内容替换:字符串名.replace('存在的字符串', '替换的内容',替换次数) ,不会改变原字符串
字符串切割:字符串名.split('切割字符',切割次数),不会改变原字符串,结果是得到一个列表

# 案例1:对str1 = 'aa-22-zhangsan'进行判断,判断是否以aa开头,是否以an结尾,是否由纯数字组成
str1 = 'aa-22-zhangsan'
print('判断是否以aa开头:',str1.startswith('aa'))
print('判断是否以zhangsan结尾:',str1.endswith('zhangsan111'))num = input('请输入数据:')
if num.isdigit():num =  int(num)print(num + 10)
else:print(num)# 案例2:对str2 = '  ***Hello Python###   '进行操作,要求去除前后的空格,去除*和#,对字符串全部转为大写/小写,将字符串的所有空格替换为%
# 注册:用户名、密码、验证码(Abc2)=abc2  ABC2
str2 = '  ***Hello Python###   '
print('去除前后的空格:',str2.strip()) #不写,默认去除字符串两端的空格
print('原来字符串',str2)res = str2.strip() #***Hello Python###
res1 = res.strip('*') #Hello Python###
res2 = res1.strip('#') #Hello Python
#
#res2 = str2.strip().strip('*').strip('#')
print('去除前后的空格,去除*和#:', str2.strip().strip('*').strip('#')) #不写,默认去除字符串两端的空格
print('原来字符串',str2)
#
print('全部转为大写:',str2.upper())
print('原来字符串',str2)print('全部转为小写:',str2.lower())
print('原来字符串',str2)# 案例3:对str3 = 'zz|18|hangzhou'进行切割,分别获取名字、年龄和地址str2 = '  ***Hello Python###   '
print(str2.replace('Pyt','6'))
print(str2.replace('*','6',1))
print('原来字符串',str2)str3 = 'zz|18|hangzhou'
print(str3.split('|'))
print(str3.split('|',1))
print('原来字符串',str3)

2. 元组的定义与操作

2.1 元组的定义

元组就是一系列数据的顺序组合,组合之后不可以修改。
元素可以是学过的所有的数据类型,元素与元素之间用逗号隔开标识符:()和逗号
关键字:tuple
特点:有序不可变有序:有索引值,跟字符串、列表是一样不可变:一旦元组声明了,元组中的元素是不可以修改的查看的操作,不能做增加、删除、修改的场景:订单编号
# 定义一个空元组
tpl = ()
print(len(tpl),type(tpl))# 获取元组的长度 len()
# 定义一个非空元组(只有一个元素)
tpl1 = ('hello')
print(len(tpl1),type(tpl1))  #5 <class 'str'>tpl1 = ('hello',)
print(len(tpl1),type(tpl1))  #1 <class 'tuple'># 定义一个非空元组(包含多个元素)
tpl2 = ('hello',100,1.123,True,[1,2,3],(10,20,30))
print(len(tpl2),type(tpl2))
查看元组类型 type()
元组的拼接  +
元组的多次输出  *
2.2  元组的操作对元组中单个/部分元素进行获取与查看取值:元组单个元素获取,语法:元组名[索引值]切片:元组多个元素获取,语法:元组名[start:end:step]
# 案例:lst = (100,11.33,True,'hello python',[1,2,3],('a','b','c'))
# 元组中单个元素的获取
# 元组中多个元素的切片操作
# 嵌套元组值的获取
tpl = (100,11.33,True,'hello python',[1,2,3],('a','b','c'))
print('结果b:',tpl[-1][1])
print('结果on:',tpl[-3][-2:])
print('结果[2,3]:',tpl[-2][1:])# 元组中元素倒序输出
print('倒序:',tpl[::-1])

2.3 元组常用的方法

元组名.index(元素值):根据元素值获取元素的索引值,返还索引值
元组名.count(元素值):根据元素统计元素的个数,返还数量
# 案例:tpl = (100,11.33,True,'hello python',[1,2,3],('a','b','c'))
# 获取'hello python'的索引值
tpl = (1,11.33,True,'hello python',[1,2,3],('a','b','c'))# 统计True的个数
# 1 == True
print(tpl.count(1))  #2

2.4 元组转换函数

tuple()转换函数
数字类型--》元组?  不能
字符串-->元组?   可以
列表--》元组?    可以
str1 = 'hello'
lst = [1,2,3]
print(tuple(str1))
print(tuple(lst))

【python】字符串的操作与方法、元组的定义与操作相关推荐

  1. python字符串lower,upper,capwordds方法,translate(使用替换后),maketrans(创建表)的使用(不知道怎么回事这个变乱了?后期再整理)

    python字符串lower,upper,capwordds方法的使用 print("Skyline".lower()) # 转为小写skyline print("Sky ...

  2. Python字符串join()方法

    Python string join() method creates a string from an iterable. It joins all the iterable elements wi ...

  3. python字符串format方法参数解释,一文秒懂!Python字符串格式化之format方法详解

    一文秒懂!Python字符串格式化之format方法详解 一文秒懂!Python字符串格式化之format方法详解 format是字符串内嵌的一个方法,用于格式化字符串.以大括号{}来标明被替换的字符 ...

  4. Python入门之元组-元组的定义和操作

    下面介绍Python中的一种数据类型--元组(tuple),元组是有序不可变的序列集合,不可变指的是元组不可以增加.删除.修改元素 ,元组的元素可以是元组.字符串.int型等.以下是元组的定义和操作: ...

  5. python学习笔记:去掉python字符串中空格的方法总结

    去掉python字符串中空格的方法总结 在python的字符串处理过程中,有一个很常见的操作的是去掉字符串中的空格,python提供了以下四个函数来实现该操作: (1) lstrip()函数 (2) ...

  6. python字符串函数的find方法_python字符串的方法与操作大全

    一:字符串的方法与操作 *注意:首字母为l的为从左边操作,为r的方法为从右边操作 1.__contains__()判断是否包含 判断指定字符或字符串是否包含在一个字符串内,返回值为true或者fals ...

  7. python字符串函数的使用方法_python字符串的操作函数

    --------------S.upper() #S中的字母大写 -------------S.lower() #S中的字母小写 S.casefold#S中的字符小写方法(2) S.capitaliz ...

  8. 【Python入门】Python字符串的45个方法详解

    Python中字符串对象提供了很多方法来操作字符串,功能相当丰富.必须进行全面的了解与学习,后面的代码处理才能更得心应手,编程水平走向新台阶的坚实基础.目前一共有45个方法,给大家分类整理,可以收藏查 ...

  9. python列表使用技巧与方法_Python列表的相关操作与方法

    Python列表的相关操作与方法 1.列表 why:int.bool.str存在缺陷 str:存储少量的数据:所有的操作获取的内容都是 str类型,存储的数据类型单一. what: 列表可以承载任意数 ...

最新文章

  1. STM32中GPIO的8种工作模式!
  2. 主题建模lda_使用LDA的Google Play商店应用评论的主题建模
  3. 安卓APP_ 布局(1)—— LinearLayout
  4. asp 可否压缩_怎样用ASP压缩文件
  5. 一个小故事,玩转Python-while循环
  6. AMESim数据导出方法
  7. Intellij IDEA破解码
  8. mybatis三表联合查询
  9. [HCIP] 04 - 路由控制之策略路由
  10. [Android]按阶段编译Android kernel中的代码
  11. Java微信运动步数排序设计_微信小程序仿微信运动步数排行(交互)
  12. Linux系统如何分区
  13. IT职场,技能比情商重要N倍
  14. VeLO:让AI自己调整参数的新优化器
  15. OpenMP求PI的四种方式
  16. 解决 无法解析名称 NaiveBayes.fit。/i get Undefined variable “NaiveBayes“ or class “NaiveBayes.fit“.
  17. js实现放大镜效果(图片放大)—JavaScript
  18. nero 9 制作DVD MTV 光盘
  19. 15个有趣的555电路,没事可以自己做一做
  20. seamless video loop with videoview

热门文章

  1. 如何解除服务器注册,《天龙八部手游》服务器注册上限怎么办 服务器注册方法...
  2. y币充值通道_比特币如何扩容?读懂比特币链下扩容技术进展与投资现状
  3. 数据双向绑定_手写 Vue3 数据双向绑定 理解Proxy
  4. java中none applicable_Java线程使用技巧学习(二)
  5. 【转】vb获得网络时间的函数
  6. Hadoop学习总结(3)——Hadoop伪分布式环境搭建
  7. python特性描述_详解 Python 最优雅的特性之一 — 描述符
  8. discuz mysql 优化_Discuz X系统:【效率机制】-【MySQL 优化】详解
  9. 升级系统服务器出错,win10更新失败80070002错误怎么办
  10. synchronized猎奇