python学习第二周学习总结
一、Python的str字符串
1、str字符串
- 字符串是由字符组成的有序的集合
- 使用单引号【‘’】、双引号【“ ”】和三引号【"' "'】引住
- 是不可变的对象,字面常量
(1)声明方法
(2)常用的转议字符
【\n】表示换行符
【\t】表示tab键
【r或者R】表示不转议字符串中特殊符号的含义
2、str字符串常用方法
(1)连接
- +号连接
- join连接
(2)分割
- split(使用自定义字符切割字符串)
- 从左往右切,切割后返回字符列表
- sep指定分割字符串,缺省情况下空白符号为切割符号。
- maxsplit 指定切割的次数,-1表示遍历整个字符串
- rsplit
- 从右往左切,但输出的字符串不会反
- sep指定分割字符串,缺省情况下空白符号为切割符号。
- maxsplit 指定切割的次数,-1表示遍历整个字符串
- splitlines
- str类型的list集合,利用行来切割字符串
- 使用行来切割字符,行分隔符包括【\n】【\r\n】【\r】等
- keepends指是否保留行分隔符,默认不保留(默认值:keepends=False)
- partition
- 从左到右切割字符串,返回一个三元组
- sep切割符号,必须指定
- 将指定字符从左至右切割成,头部,分割符,尾部三部分组成的三元组;如果没有找到分割符,就只返回头部和2个空元素的三元组。
- rpartition
- 从右到左切割字符串,返回一个三元组
- sep切割符号,必须指定
- 将指定字符从左至右切割成,头部,分割符,尾部三部分组成的三元组;如果没有找到分割符,就只返回头部和2个空元素的三元组。
(3)查找
- find(sub[,start[,end]])->int #在指定区间[ start,end),从左至右,查找字符串sub。找到返回索引,没找到返回-1
- sub 要查找的字符串
- start查找起始点索引
- end查找区间的结束索引(不包含结束索引)
- rfind(sub[,start[,end]])->int #在指定区间[start,end)从右到左,查找字符串sub,找到返回索引,没找到返回-1
- sub 要查找的字符串
- start 要查找的起始点索引
- end 要查找区间的结束索引(不包含结束索引)
- index(sub[,start[,end]])->int #在指定的区间[start,end),从左到右,查找子串sub。找到返回索引,没找到抛出异常ValueError(如果不设置start和end就在整个字符串中查找)
- sub 要查找的字符串
- start 查找区间的起始索引
- end 查找区间的结束索引(不包含结束索引)
- rindex(sub[,start[,end]])->int #在指定的区间[start,end),从右到左,查找子串sub。找到返回索引,没找到抛出异常ValueError(如果不设置start和end就在整个字符串中查找)
- sub 要查找的字符串
- start 查找区间的起始索引
- end 查找区间的结束索引(不包含结束索引)
(4)统计类型
- count(sub[,start[,end]])->int #在制定区间[start,end),从左到右,统计子串sub出现的次数(如果没有自定start和end默认在整个字符串中统计)
- sub 要统计的字符串
- start 统计的起始索引
- end 统计的结束索引(不包含结束索引)
- endswith(suffix[,start[,end]])->bool #在指定区间[start,end),字符串是否是suffix字符结尾,是返回True 否返回False。如果不指定区间,默认区间是整个字符串
- startswith(prefix[,start[,end]])->bool #在指定区间[start,end),字符串是否是prefix开头。如果不指定区间,默认区间是整个字符串
(5)大小写转换类型
- upper()->str #将字符中所有字符转换成大写
- lower()->str #将字符中所有字符转换成小写
- swapcase()->str #将字符中大写转换成小写,小写转换成大写
- capitalize()->str #将字符串中首个单词的首字母转换成大写字母
- title()->str #将英文单词中每个字母的首字母都转换成大写字母
(5)位置调整类型
- center(width[,fillchar])->str #将字符串按照指定方宽度居中显示。空白位置使用fillchar填充。默认值为空格符号
- width 总宽度
- fillchar 填充的字符(不能是字符串)
- zfill(width)->str #将指定字符按照width宽度居右显示。不够的地方使用0填充
- width:打印宽度,局右,左边用0填充
- ljust(width[.fillchar])->str #将字符左对齐显示width长度,不够长度使用fillchar字节替代。
- width:打印宽度
- fillchar: 补充字符
- rjust(width[,fillchar])->str #将字符右对齐显示width长度,不够使用fillchar字节替代。
二、Python中的random随机数模块
-
random模块,使用前需要导入 import random
常用方法
- randint(a,b)->int 在取值范围[a,b]之间随机挑选一个整数返回。
- choice(seq)->val 从非空序列的元素中随机挑选一个元素返回。
- choices(population, weights=None, *, cum_weights=None, k=1)->list #从指定非空序列的元素随机挑选k次,返回每一次挑选出的元素组成的集合。k默认值等于1。
population #非空序列的元素集合
k #挑选的次数,默认为1次
- randrange([start,]stop[,step])->val #从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
- start 指定范围的起始值,指定基数。默认值为1
- stop 指定范围的结束值,注意:不包括结束值。
- step 递增幅度
- shuffle(list)->None 就地打乱列表元素
- sample(population,k) #从样本空间或总体(序列或者集合类型)中随机取出k个不同的元素,返回一个新的列表
- population 总样本
- k 取出元素的个数(注意,只取一次,一次取k个k不能大于样本总数)
三、Python中的tuple元组
1、元组的定义
- 定义:由一个有序的元素组成的集合。元组是不可变对象
- tuple()->empty tuple 返回一个空元组
- ()也可以定义一个空元组。
- (1,)表示是由一个元素1组成的元组
- tuple(iterable)-> tuple 根据可迭代对象返回一个新元组
2、元组查询
- index(value,[start,[stop]])通过值value,从指定区间查找元组中value值对应的索引,如果没找到会抛出ValueError异常
- value 需要查找的值
- start 查找的起始索引
- stop 查找的结束索引
- 注意:时间复杂度为O(n)
- count(value) 返回列表中匹配value的次数,时间复杂度为O(n)
- value 需要匹配的值。
- 元组是只读的,所以没有增、删、改方法
- len(tuple) 返回元素的个数