一、索引和切片
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 seff' print(a.expandtabs()) #字符串的 去掉,将前面的单词补足到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','王静'},用的较少