字符串的相关操作
1.字符串的拼接
1 strvar = "vegeta"+ble" 2 print(strvar) # vegetable
2.字符串的重复
good" * 3
3.字符串的跨行拼接 使用\
abcdefghijklmnopqrst" \ 2 uvwxyz3 abcdefghijklmnopqrstuvwxyz
4.字符串的索引
1 ''' 正向索引 0123 3 strvar = "1234" 4 逆向索引 -4-3-2-1 5 '''
5.字符串的切片
注意: [开始索引:结束索引:间隔值]
res = strvar[::2] # 0 2 4 6 8..... 从开始截取到最后
res = strvar[::-1] # -1 -2 -3 -4 -5 -6..... 从结尾截取到最前
1 [开始索引:] 从开始索引截取到字符串的最后 2 strvar=红橙黄绿青蓝紫 3 res = strvar[4:] 4 print(res) 5 6 # [:结束索引] 从开头截取到结束索引之前(结束索引-1) 7 res = strvar[:5] 8 (res) 9 10 [开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) 11 res = strvar[1:312 13 14 [开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符 15 正序 16 res = strvar[::2] 0 2 4 6 8..... 从开始截取到最后 17 18 倒序 19 res = strvar[::-1] -1 -2 -3 -4 -5 -6..... 20 21 22 [:]或[::] 截取所有字符串 23 res1 = strvar[:] 24 res2 = strvar[::] 25 (res1) 26 print(res2)
-------------------------------------------------------------------------
字符串的方法
常规:
capicalize 字符串首字母大写 2 strvar =what is your name 3 res = strvar.capitalize() print(res) What is your name title 每个单词的首字母大写 7 strvar = 8 res = strvar.title() 9 What Is Your Name 10 11 upper 将所有字母变成大写 12 strvar =13 res = strvar.upper() WHAT IS YOUR NAME 15 16 lower 将所有字母变成小写 17 strvar = HELLO KITTY18 res = strvar.lower() 19 hello kitty 20 21 swapcase 大小写互换 22 strvar = AAAAbbbb23 res =24 aaaaBBBB 25 len 计算字符串的长度 27 strvar = 28 res = len(strvar) 29 8 30 31 count 统计字符串中某个元素的数量 32 strvar = 33 res = strvar.count(A) 34 4 35 36 find 查找某个字符串第一次出现的索引位置(推荐使用) 37 '''字符串.find("字符",开始索引,结束索引) 如果找不到直接返回-138 strvar = abcdefabc39 res = strvar.find(a") 0 40 res = strvar.find(",2) 6 41 res = strvar.find(d 3 结束索引本身取不到,取到之前的那个值 42 43 44 index与find功能相同,find找不到返回-1,index找不到数据会报错 45 res = strvar.index( error 46 47 startswith 判断是否以某个字符或字符串为开头 48 49 字符串.startswith("字符串",结束索引) 50 如果存在返回True,否则返回False 51 52 strvar = abcdefg53 res = strvar.startswith( True 54 res = strvar.startswith(b55 res = strvar.startswith(c True 2 3 4 56 57 58 endswith 判断是否以某个字符或字符串结尾 59 res = strvar.endswith(g60 res = strvar.endswith(61 res = strvar.endswith(62 print(res)
is系列:
isupper 判断字符串是否都是大写字母 2 strvar = ABCD strvar.isupper() islower 判断字符串是否都是小写字母 7 strvar = abcd123 isdecimal 检测字符串是否以数字组成 必须是纯数字 12 strvar = 1234513 strvar = 123.456714 res = strvar.isdecimal() print(res)
填充/去除:
1 strvar = abc 2 ljust 填充字符串,原字符居左(默认填充空格) 3 res = strvar.ljust(10 5 rjust 填充字符串,原字符居右(默认填充空格) 6 res = strvar.rjust(10 7 center 填充字符串,原字符居中(默认填充空格) 9 res = strvar.center(10) 原字符串长度+填充字符长度=10,默认填充空格 10 res = strvar.center(10,#12 13 strip 默认去掉首尾两边的空白符 14 strvar = ####abcd####15 res = strvar.strip( 指定去掉的符号 rstrip 去掉右边某个字符 print(strvar.rstrip()) rstrip 去掉左边某个字符 print(strvar.lstrip("))
字符串最重要的三个方法:
split 按某字符将字符串分割成列表(默认字符是空格) one two three four 3 lst = strvar.split() 4 strvar= one-two-three-four 5 lst = strvar.split(- 从左到右分隔 6 lst = strvar.rsplit( 从右到左分隔,可以指定分隔的次数 (lst) 8 join 按某字符将列表拼接成字符串 10 lst = ['five',1)">sixseveneight'11 res = .join(lst) replace 替换,把字符串的旧字符替换成新字符 15 replace(要替换的字符,替换成什么,替换的次数)16 strvar = 这只小狗真可爱,真呀真可爱17 res = strvar.replace(可爱有趣18 res = strvar.replace(print(res)
-----------------------------------------------------------------------------------
字符串的格式化:
1.顺序传参 strvar = {}喜欢吃{}".format(我苹果(strvar) 2.索引传参 strvar = {1}喜欢吃{0} 3.关键字传参 strvar = {thing2}喜欢吃{thing1}".format(thing1= 4.容器类型数据(列表或元组传参) strvar = {0[2]}喜欢吃{1[1]}".format([小红小明小刚"],(香蕉菠萝 format当中,不能使用逆向下标,不识别 strvar = {0[-1]}喜欢吃{1[-1]} 如果容器是字典 strvar={group1[xiaoming]}喜欢吃{group2[0]}".format(group1={xiaohong":xiaoming"},group2=(print(strvar)
format 填充符号的使用和转换成特殊符号的使用:
format的填充符号的使用(^ < >) 2 """ 3 ^ 原字符串居中 4 < 原字符串居左 5 > 原字符串居右 6 7 {who:*^10} 8 who:关键字参数 9 *:要填充的字符 10 ^:原字符串居中 11 10:总长度=原字符串长度+填充字符长度 12 {who:*^10}在{where:>>10}吃{what:!<10}".format(who=别人家(strvar) 16 进制转换成特殊符号的使用( :d :f :s :,) 18 :d 整型占位符 要求类型必须是整型 20 strvar = 我吃了{:d}个苹果".format(3) 3.5 error :2d 占用两位,不够拿空格来补,默认居右 我吃了{:2d}个苹果".format(323 < > ^ 调整对应的位置 24 strvar = 我吃了{:<2d}个苹果25 strvar = 我吃了{:<3d}个苹果27 28 :f 浮点型占位符(要求类型必须是浮点型) 29 strvar = 我的成绩是{:f}".format(96.2530 .2f 小数点保留两位 31 strvar = 我的成绩是{:.2f}32 33 :s 字符串占位符 (要求类型必须是字符串) 35 strvar = {:s}啦啦啦啦啦37 38 :,金钱占位符 39 strvar = {:,}".format(325622458340 41 综合案例 43 strvar = 我今年{:d}岁,我的语文分数是{:.1f},我心情{:s}".format(23,98.65,1)">非常好列表的操作:### 列表的相关操作 1.列表的拼接(同元组) lst1 = [1,3] lst2 = [4,5,7,8,8] res = lst1 + lst2 (res) 2.列表的重复(同元组) res = lst1 * 6 3.列表的切片(同元组) # 语法:列表[::] 完整格式:[开始索引:结束索引:间隔值] (1)[开始索引:] 从开始索引截取到列表的最后 (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1) (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值 (5)[:]或[::] 截取所有列表 lst=[AlanCatSunWumingHuahaiMcOrangeRxy] (1) [开始索引:] 从开始索引截取到列表的最后 res = lst[3 (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1) res = lst[:6 (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) res = lst[3:6 (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值 正向截取 res = lst[::2] 逆向截取 res = lst[::-2 (5)[:]或[::] 截取所有列表 res = lst[:] res = lst[::] (res) 4.列表的获取(同元组) 0 1 2 3 4 5 6 7 lst=[ -8 -7 -6 -5 -4 -3 -2 -1 res = lst[6] res = lst[-2(res) 5.列表的修改(可切片) 要求的数据类型是:可迭代性数据(容器类型数据,range对象,迭代器) ''' lst=[ 利用切片可以一次修改多个元素,没有个数上的限制 lst[1:3] = abcdef" (lst) 切片配合步长,切出多少个元素,修改多少个元素 lst=[] res = lst[::2] Alan Sun Huahai Orange lst[::2] = range(1,5 6.列表的删除 lst=[del lst[-1 删除的是变量res本身,不是列表中的元素 res = lst[-1] del res print(lst) ''' del lst[:2] del lst[::3] 0 3 6 9 12... 元组中的列表,里面的元素可以修改; tup = (1,3,[4,(7,9)]) tup[-1][1] = 66 print(tup)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。