使用单引号或者双引号扩起来的任意字符串,我们都可以称为字符串。
字符串创建:
str1=“hello”
str2="world"
print(str1)
print(str2)
str3=str1+str2
注意:不同类型不能使用加号来进行拼接。
print(str1,str2)
注意,逗号的位置会产生一个空格
print("%s%s"%(str1,str2))
print("{}good{}".format(str1,str2))
“”.join(序列)
注意:序列中的元素必须是字符串
str1*n
功能:将str1重复输出n遍
len(str1)
print(len(str1))
使用索引【下标】的方式实现
str1[index]
index索引值/下标值 取值范围[0,len(str1))
索引值/下标值 从0开始数
索引值还可以为负,可以从-1开始,-1代表倒数第一个字符
print(str1[0])
print(str1[-1])
str1[start:stop:step]
参数一:从start开始取 默认0
参数二:到stop结束,stop取不到,默认len(str1)
参数三:步长,默认1
判断是否包含指定字符:
字符 in 字符串
若字符串中包含指定的字符则返回ture,否则返回false
%s 输出字符串
%d 输出整型
%nd输出长度为n的整型,右对齐
%0nd输出长度为n的整型,不够的时候使用0补齐
%-nd输出长度为n的整型,左对齐
%f 输出浮点
%.nf 输出保留n位小数的浮点型,n=0,不保留小数。
字符串常用函数
eval(str1)
功能:将str转为一个有效表达式并且返回计算的结果
空格也算字符
str(x)
功能:可以将x【number,bool,list,tuple,set,dict】转为字符串
str1.lower()
功能:将字符串中大写字母转为小写字母,并且返回一个新的字符串
str1.upper()
功能:将字符串中的小写字母转为大写字母,并且返回一个新的字符串
str1.swapcase()
将字符串中的大写字母转为小写字母,将小写字母转为大写字母,并返回一个新的字符串。
str.capitalize()
功能,返回一个首字母大写其他字母都小写的字符串
str.title()
功能:返回一个标题话的字符,每个单词的首字母都是大写,其他字母小写
str1.center(width,fillchar)
功能:返回一个以为宽度,居中的,使用fillchar填充的字符串。
str1.rjust(width,fillchar)
返回一个以为宽度,居右的,使用fillchar填充的字符串。
str1.ljust(width,fillchar)
返回一个以为宽度,居左的,使用fillchar填充的字符串。
str1.count(sub,start,end)
功能:统计sub在str1中出现的次数,若不指定start
与end的值,则默认统计整个字符串
若指定start与end,则统计的范围【start,end)
str1.find(sub,start,end)
从左往右在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.rfind(sub,start,end)
功能:从右往左在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.index(sub,start,end)
功能:从左往右在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.index(sub,start,end)
功能:从右往左在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.strip(chars)
功能:去除str1左右两边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]
str1.lstrip(chars)
功能:取出str1左边的指定chars,若chars不给,默认去除空白符[\r\n\f\t]
str1.rstrip(chars)
功能:取出str1右边的指定chars,若chars不给,默认去除空白符[\r\n\f\t]
str1.split(seq.maxsplit)
功能:从左往右使用指定的seq对str1进行切割处理,若不指定seq则默认
使用空白符来进行切分,若不指定maxsplit默认全部切分。切分的结果以列表形式返回。
str1.rsplit(seq.maxsplit)
功能:从右往左使用指定的seq对str1进行切割处理,若不指定seq则默认
使用空白符来进行切分,若不指定maxsplit默认全部切分。切分的结果以列表形式返回。
本质,是一种有序的集合
列表的创建:list=[元素1,元素2,元素3,。。。]
创建空列表:
list1=list()
list2=list2[]
注意:列表中的元素类型可以是任意python中的基本数类型 或是自定义数据类型
使用索引的方式进行访问
list1=[index]
index取值范围[0,len(list1)]
当index超出取值范围的时候会出现IndexErr
获取列表长度:
len(list1)
列表元素替换
list1[index]=值
更改列表中指定下标处的值
列表的组合
list3=list1+list2
将list1中的元素与list2中的元素取出组合成一个新的列表并返回
list2=list1*n
功能:将list1中的元素重复n次输出到新的列表中
判断元素是否在列表中存在
元素 in 列表
功能:若存在返回true,否则false
列表的截取
list1[start,stop,step]
start默认0
stop默认len(list1)
step默认1,取值可以为负
若指定start与stop取值范围【start,stop)
二维列表
列表中元素可以是py的基本数据类型,也可以是自定义的数据类型,当列表中存放的元素刚好又是列表的时候,我们可以称这个列表为二维列表
list1=[列表1,列表2,。。。。。,列表n]
二维列表的访问
list1[index1]【index2】
index1:代表第几个列表
index2:代表列表中第几个元素
列表中常用的方法
list1.append(序列)
功能:在列表的末尾添加指定的对象
list1.extend(序列)
功能:将序列中的元素打碎追加到list1中
注意:extend后面必须是序列
list1.insert(index,obj)
功能:将obj插入到指定的下标处,原下标处的元素依次顺延。
list1.pop(index)
功能:将指定下标处的元素删除,并且将删除的元素返回。
若index不指定则默认删除最后一个变量。
list1.remove(元素)
将列表中第一个匹配的元素移除
list1.clear()
功能:清除列表中的元素[列表还存在]
del list1
功能:直接删除列表
list1.index(obj,start,stop)
功能:在l1中查找obj是否存在,若查找到则返回obj第一次查询到的下标值。
若查找不到则报错。查询范围[start,stop),若不指定则查询整个列表。
list1.count(obj)
功能:统计obj在list1中出现的次数。
min(list1)
功能:返回列表中的最小值
max(list1)
功能:返回列表中的最大值
list.reverse()
功能:将列表中的元素倒叙,操作原列表,不返回新的列表。
list1.sort(reverse=False)
功能:将list1中的元素进行升序排列【默认reverse=False】
当reverse为True的时候,降序排列。
赋值拷贝/引用拷贝
特点:共用一块内存区域,更改其中任意一个变量,其他的变量都会受到影响。
浅拷贝
list2=list1.copy()
只适用于一维列表。
不完全内存拷贝,对于一维列表重新开辟了一块内存空间,但若出现二维列表的情况下,因为二维列表存放在一维列表中存放的是列表的地址,因此若出现二维列表相当于引用了同一块内存区域
深拷贝
import copy
list2=copy.deepcopy(list1)
完全内存拷贝,相当于将list1中的所有列表中元素重新复制了一份,对于多维的也重新开辟了内存空间,因此它不会出现内存共用的情况