python全栈-Day 3
一、索引和切片
l = [0,1,2,3,4,'a','b',[123,456],'d','e']
s = 'abcdefghijklmn'
# 索引,序列中的所有元素都是有编号的,从0开始递增,使用负数索引的时候,会从右边开始,也就是最后一个元素开始计数
# 序列包含:str(字符串)、len(列表)、tup(元组)
print(s[0],s[7],s[8],s[-2])
print(l[0],l[7],l[8],l[-2])
# 分片是用来访问一定范围内的元素,分片通过冒号来实现,print(a[m:n]),顾头不顾尾,适用于 序列
print('步长区别')
print(s[0:6:2],s[6:0:-2]) #s[首:尾:步长],无步长则默认步长为1
print('步数为正数的时候可输出值:')
print(s[1:5], s[5:-2], s[-5:-2])
print('步数为正数的时候则打印空:')
print(s[5:1],s[-2:-5],s[-2:5],s[0:0],l[0:0])
print('步数为负数的时候可输出值:')
print(s[4:0:-1],s[-4:0:-1])
print('步数为负数的时候打印空行')
print(s[0:4:-1],s[0:-4:-1])
print('首/尾为空')
print(s[0:],s[-3:])
print(s[:-1],s[:])
print(s[4::-1],s[-4::-1],s[:4:-1],s[:-4:-1],s[::-1]) #步长为负数,可倒序输出,此时首尾指的是 倒序结果的首尾
二、字符串str的方法
str是只读的序列,可使用各种方法生成新的str,其本身是不支持修改的
#str的增----无
#str的删
print(s.split('#')) #将字符串按照规定的字符为中心拆分成列表,且删除被分割的元素
#str的改(str的改,会生成一个新的字符串)
s = 'zxc vbQW ERTAas dfg'
print(s.replace('d','哈哈',1)) #字符串的部分替换,可控制替换的次数,默认替换全部
#字母大小写处理
s = 'zxc vbQW ERTAas dfg'
print(s.capitalize()) #首字母大写,字母以外的不处理
print(s.upper()) #字母全部变成大写,字母以外的不处理
print(s.lower()) #字母全部变成小写,字母以外的不处理
print(s.swapcase()) #大小写翻转
print(s.title()) #每个非字母隔开的单词,首字母都大写
#输出格式变统一
print(s.center(20)) #字符串在某个总长度上居中,空白默认空格补足
print(s.center(20,'=')) #def center(self, width, fillchar=None)
#处理特殊字符
s = ' 123sdksdkfk jb二哥 '
print(s.strip()) #默认去掉开头结尾的空格
s = ' ##e#l fnrefnn#%'
print(s.strip('#% ')) #可输入一个参数,以参数的每个元素为单位,去掉开头结尾的每个元素
print(s.rstrip('#% ')) #只处理结尾
print(s.lstrip('#% ')) #只处理开头
#str的查
print(s.find('d')) #通过元素找索引:在字符串中寻找某个元素,找到就返回第一个符合的索引,找不到返回-1
print(s.index('d')) #通过元素找索引:在字符串中寻找某个元素,找到就返回第一个符合的索引,找不到报错
#公共方法
a = 'sdfsdgdfga1\tseff'
print(a.expandtabs()) #字符串的\t去掉,将前面的单词补足到8位/8的倍数位
s = '123sdksdkfkjb二哥'
print(len(s)) #打印字符串的字符长度(中文等于一个字符)
s = 'dk nkfjsddk'
print(s.count('dk')) #计算字符串中某个字符串的个数
print(s.count(s[1:2]))
print(s.startswith('')) #def startswith(self, prefix, start=None, end=None):
print(s.startswith('sd')) #判断字符串某一段的开头是否为字符串,默认对比整个字符串,输出结果为bool,
print(s.startswith('sd',3,5))
print(s.endswith('哥')) #判断字符串某一段的结尾是否为字符串
s = 'sfsdfnslk354'
print(s.isalnum()) #字符串由字母或数字组成
print(s.isalpha()) #字符串由字母组成
print(s.isdigit()) #字符串由数字组成
#format的格式化输出
s = '我叫{},今年{},爱好{},再说一下我叫{}'
print(s.format('王静',18,'boy','王静'))
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'
print(s.format('太白',18,'boy'))
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'
print(s.format(age = 18,name = '太白',hobby = 'boy'))
for i in s: #遍历字符串中的每个元素
print(i)
if '#' not in s:
print(True)
三、数据类型整体分析
1、int:1,2,3用于计算。将其他数据类型转换为int:int(x),x必须为数字
i = 5 print(i.bit_length()) #把数字转换成二进制的最少位数
2、bool:True、False,用于判断。将其他数据类型转换为bool:bool(x),若x == 0/[]/()/{}/空字符串/无参数/空格/None/False/,则输出结果为False,除了以上值,全部输出结果为True
3、str:'dsfds3545完井',存储少量数据,进行操作。将其他数据类型转换为str:str(x),x没有要求
4、list:['142',1,'dfg','王静',[1,2,3]],存储大量数据。将其他数据类型转换为list:list(x),x没有要求
5、tup:元组,是一个只读序列
6、dic:字典,{'name':'王静','age':18,'other':['haha',1,2,3]},存储大量的关系型数据
7、集合:{1,2,34,'sdfs','王静'},用的较少

浙公网安备 33010602011771号