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	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','王静'},用的较少

原文地址:https://www.cnblogs.com/txbbkk/p/9296351.html