秃顶之路-Day7

Day 7

1.字符串操作
(1)字符串的拼接

strvar =  '今天是'+'星期一'
strvar += ',今天非常开心'
print(strvar)

(2)字符串的重复

strvar='重要的事情说三遍' * 3
print(strvar)

(3)字符串的跨行拼接

strvar='ksfjjfkjlksajlajsldflaskdflj'\
'多余的几行放在第二行显示'
print(strvar)

(4)字符串的索引

#正向索引 0123
strvar='1234'
#逆向索引-4-3-2-1

(5)字符串的切片
语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到字符串最后

strvar='黑夜给了我黑色的眼睛,但是我却翻白眼'
res=strvar[11:]
print(res)

(2)[:结束索引] 从开头截取到结束索引之前(结束索引—1)

res=strvar[:10]
print(res)

(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)

res=strvar[8:10]
print(res)

(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符

res=strvar[::3]#0 3 6 9 ...
print(res)
#倒叙
res=strvar[::-1]#-1 -2 -3 -4 -5 -6 ...
print(res)

(5)[:]或[::] 截取所有字符串

res=strvar[:]
res=strvar[::]
print(res)

2.字符串相关函数
capitalize:首个字符大写

strvar='how old are you'
res=strvar.capitalize()
print(res)

title:字符串每个单词的首字符大写

strvar='how old are you'
res=strvar.title()
print(res)

upper:所有字母变大写

strvar='how old are you'
res=strvar.upper()
print(res)

lower:所有字母变小写

strvar='How Old are You'
res=strvar.lower()
print(res)

swapcase:大小写互换

strvar='How Old are You'
res=strvar.swapcase()
print(res)

len:计算字符串长度

strvar='skmdflkasflskldfk'
res=len(strvar)
print(res)

count:统计字符串中某个元素的数量

strvar='klsdjlaksdladflkaslk'
res=strvar.count('a')
print(res)

find:查找字符串中某个元素第一次出现的索引位置
字符串.find(‘字符’,开始索引,结束索引),如果找不到返回-1

strvar='oh Father this is ma Favorate dog'
res=strvar.find('F')
res=strvar.find('F',4)
res=strvar.fin('F',5,10)
print(res)

index:与find作用相同,如果找不到直接报错
startswish:判断是否以某个字符开头

strvar='oh father this is my favorate dog'
res=strvar.startswish('oh')
res=strvar.startswish('oh',10)
res=strvar.startswish('this',10,13)
print(res)

endswish:判断是否以某个字符结尾

res=strvar.endswish('dog')
res=strvar.endswish('rate',-12)
res=strvar.endswish('rate',-12,-4)
print(res)

isupper:判断字符串字母是否都是大写

strvar='ASDFGFMJKJ'
res=strvar,isupper()
print(res)

islower:判断字符串字母是否都是小写

strvar='dfegergergegerg'
res=strvar.islower()
print(res)

isdecimal:判断字符串是否是纯数字组成

strvar='32132321324654'
strvar='3213sdd2'
strvar='321323132.321321'
res=strvar.isdecimal()
print(res)

ljust:填充字符串,原字符居左(默认填充空格)

strvar='adf'
res=strvar.ljust(10)
print(res)

rjust:填充字符串,原字符串居右(默认填充空格)

res=strvar.rjust(10,'*')
print(res)

center:填充字符串,原字符居中(默认填充空格)

res=strvar.center(10)#原字符长度+填充字符长度=10
res=strvar.center(10.'*')
print(res)

rstrip:去掉右边某个字符

strvar='@@@@@王发财    @@@@@'
res=strvar.rstrip('@')
print(res)

lstrip:去除左边某个字符

res=strvar.lstrip('@')
print('res')

重要!!!!
split:将字符串按照某个字符分割成列表(默认是空格)

strvar='you can you up no can no bb'
lst=strvar.split()
print(lst)
strvar='you-can-you-up-no-can-no-bb'
lst=strvar.split('-',2)#从左向右分割,可以指定分割次数
print(lst)

replace:将字符串的旧字符替换成新字符
replace(要替换的字符,替换成什么,替换的次数)

strvar='可爱的青蛙喜欢蚊子,有没有,有没有,还有没有'
res=strvar.replace('有没有','真没有')
res=strvar.replace('有没有','真没有',1)
print(res)

foemat:字符串的格式化

#(1)顺序传参
strvar='{}向{}开了一枪,饮弹而亡'.format('八戒','金华')
print()
#(2)索引传参
strvar='考试时{},游戏时{}'.format('唯唯诺诺','重拳出击')
print(strvar)
#(3)关键字传参
strvar='{who2}甩了一个飞吻,{who2}神魂颠倒'.format(who1='刘彩霞',who2='马生平')
print(strvar)
#(4)容器类型数据(列表或元组)传参
strvar='{1[0]}向{0[1]}抛了一个媚眼'.format(['苏您花','李护理']('八戒','悟空'))
print('strvar')
#format 当中,不能使用逆向下标,不识别
strvar='{group2[0]}向{group1[1]}抛了一个媚眼'.format(group1=['苏您花','李护理'],group2=('八戒','悟空'))
print(strvar)
#如果容器是字典,直接写键值,不需要加上引号
strvar='{group1[ccg]}向{gruop2[1]}抛了一个媚眼'.format(group1 = {"kxq":"孙翔群","ccg":"曹晨光","syj":"宋云杰"},group2 = ("李亚","孙致和","温子月"))
print(strvar)

format的填充符号的使用(^ > <)
^ :原字符居中
< :原字符居左

:原字符居右

{who : * ^ 10}
who : 关键字参数 * :要填充字符 ^ :原字符居中 10 : 总长度

strvar='{who:*^10}在{where:>>10},{do:!<10}'.format(who='八戒',where='床上',do='拉屎')
print(strvar)

进制转换等特殊符号的使用(:d :f : s :,)

# :d 整型占位符(要求类型必须为整型)
strvar='八戒昨天买了{:d}瓶花露水',format(100) #100.5 error
print(strvar)
# :2d 占两位,不够拿空格来补,默认居右
strvar='八戒昨天买了{:2d}瓶花露水'.format(3)
# < > ^ 调整对应位置
strvar='八戒昨天买了{:<2d}瓶花露水'.format(3)
strvar='八戒昨天买了{:^3d}瓶花露水'.format(3)
print(res)
# :f 浮点型占位符(要求类型必须为浮点型)
strvar='八戒毕业时,找工作的薪资是{:f}',format(2.5)
print(strvar)
# :.2f 小数点保留两位
strvar='八戒毕业时,找工作的薪资是{:.2f}',format(2.5321131)
print(strvar)
# :s 字符串占位符(要求类型必须为字符串)
strvar='{:s}'.format('今天天气不错,万里无云')
print(strvar)
# :, 金钱占位符
strvar='{:,}'.format(1331323231131)
print(strvar)

3.列表的相关操作
(1)列表的拼接 (同元组)

lst1=[1,2,3]
lst2=[4,5,6,6]
res = lst1 + lst2
print(res)

(2)列表的重复 (同元组)

res=lst2*3
print(res)

(3)列表的切片 (同元组)
语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到列表的最后

lst=['吕洞宾','何仙姑','铁拐李','曹国舅','张果老','蓝采和','蓝采和','八戒']
res=lst[2:]
print(res)

(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)

res=lst[:4]
print(res)

(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)

res=lst[4:6]
print(res)

(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值

# 正向截取
res=lst[::2]#0 2 4 6 8 ...
print(res)
#逆向截取
res=lst[::-2]#-1 -3 -5 -7...
print(res)

(5)[:]或[::] 截取所有列表

res = lst[:]
res = lst[::]
print(res)

(4)列表的获取 (同元组)

#       0          1        2			3     4			5			6    7
lst = ["吕洞宾","何仙姑","铁拐李","曹国舅","张果老","蓝采和","韩湘子","八戒"]
#     	-8			-7		-6		-5			-4		-3		-2		-1
res=lst[7]
res=lst[-1]
print(res)

(5)列表的修改 ( 可切片 )

# 要求的数据类型是
#				可迭代数据(容器类型数据,range对象,迭代器)
lst=['吕洞宾','何仙姑','铁拐李','曹国舅','张果老','蓝采和','蓝采和','八戒']
# 利用切片可以一次修改多个元素,没有数上限制
lst[3:5]=['王凡','闫国章','牧树人']
print(lst)
# 切片配合步长,切出多少元素,修改多长元素
lst=['吕洞宾','何仙姑','铁拐李','曹国舅','张果老','蓝采和','蓝采和','八戒']
#res = lst[::2]
#lst[::2]='advd'
lst[::2]=range(1,5)
print(lst)

(6)列表的删除 ( 可切片 )

lst=['吕洞宾','何仙姑','铁拐李','曹国舅','张果老','蓝采和','蓝采和','八戒']
# del lst[-1]
# print(lst)
# 删除的是变量res本身,不是列表中的元素
res=lst[-1]
del res 
print(lst)
# del lst[:2]
del lst[::3] #0 3 6 9 ...
print(lst)
# 元组中的列表,列表的元素可以修改
tup = (1,2,3,4,[5,6,7,(8,9,10)])
tup[-1][1]=6666
print(tup)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值