python字符串、字符串函数及列表、列表的拷贝。

字符串:

使用单引号或者双引号扩起来的任意字符串,我们都可以称为字符串。

字符串创建:

str1=“hello”

str2="world" 

print(str1)

print(str2)

字符串的拼接:
1.使用+进行拼接
str3=str1+str2

注意:不同类型不能使用加号来进行拼接。

2.使用,进行拼接
print(str1,str2)

注意,逗号的位置会产生一个空格

3.使用%拼接,使用格式化的方式
print("%s%s"%(str1,str2))
4.使用"{},{}"
print("{}good{}".format(str1,str2))
5.使用join函数来进行拼接

“”.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中的所有列表中元素重新复制了一份,对于多维的也重新开辟了内存空间,因此它不会出现内存共用的情况


你可能感兴趣的:(笔记)