【字符串-列表-元组相关函数和方法】

列表相关操作

(1)列表的拼接   (同元组)
(2)列表的重复   (同元组)
(3)列表的切片   (同元组)
语法 => 列表[::]  完整格式:[开始索引:结束索引:间隔值]
	(1)[开始索引:]  从开始索引截取到列表的最后
	(2)[:结束索引]  从开头截取到结束索引之前(结束索引-1)
	(3)[开始索引:结束索引]  从开始索引截取到结束索引之前(结束索引-1)
	(4)[开始索引:结束索引:间隔值]  从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
	(5)[:]或[::]  截取所有列表
(4)列表的获取   (同元组)
(5)列表的修改   ( 可切片 )
(6)列表的删除   ( 可切片 )

列表的相关函数

append()

功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,该函数直接操作原有列表

insert()

功能:在指定索引之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改变原有列表

extend()

功能:迭代追加所有元素
格式:列表.extend(可迭代性数据)
返回值:None
注意:直接改变原有列表

pop()

功能:通过指定索引删除元素,若没有索引移除最后那个
格式:列表.pop(索引)
返回值:删除的元素
(注意:没有指定索引,默认移除最后一个元素 )

remove()

功能:通过给予的值来删除,如果多个相同元素,默认删除第一个
格式:列表.remove(值)
返回值:无
(注意:如果有索引的情况推荐使用pop,效率高于remove)

clear()

功能:清空列表
格式:列表.clear()
返回值:空列表

index()

功能:获取某个值在列表中的索引
格式:列表.index(值[,start][,end]) # []  表达参数可选项 
返回值:找到返回索引  (找不到报错)

count()

功能:计算某个元素出现的次数
格式:列表.count(值)
返回值:次数

sort()

功能:列表排序(默认小到大排序)
格式:列表.sort(reverse=False)                        
返回值:None
注意:直接更改原列表

reverse()

功能:列表反转操作
格式:列表.reverse()
返回值:None
注意:直接更改原列表

深拷贝浅拷贝

#copy模块中有 浅拷贝 和 深拷贝 两种方法
(1)浅拷贝:  浅拷贝只拷贝外层列表  内层列表跟随原列表进行改变
	# 浅拷贝copy.copy(listvar) 或者 listvar.copy()
(2)深拷贝:  拷贝整个列表  内外列表都不跟随原列表进行改变
	# 深拷贝copy.deepcopy(listvar)
注意:copy模块的copy方法 和 python内置的函数copy一样 都是浅拷贝

元组相关操作和方法

元组的相关操作除了不能修改和删除其中的元素之外 , 剩下操作都和列表相同.
元组里面能用的方法只有 index 和 count 

#列表的相关操作同(字符串,元组)
# 列表的拼接+,列表的重复*,列表的切片[:::][开始索引:结束索引:间隔值],列表的获取,删除,修改
lst1=["a","b","c"]
lst2=["d","e","f"]
print(lst1+lst2)#['a', 'b', 'c', 'd', 'e', 'f']

lst1=["abc","def"]
print(lst1*3)#['abc', 'def', 'abc', 'def', 'abc', 'def']
"""
语法 => 列表[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到列表的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取列表元素值
(5)[:]或[::] 截取所有列表
"""
lst=["张","王","(1,2,3)","马","李",{"name":"小马"}]
res=lst[:]
print(res)#['张', '王', '(1,2,3)', '马', '李', {'name': '小马'}]
res=lst[:2]
print(res)#['张', '王']
res=lst[1:4:2]
print(res)
res=lst[-1:-6:-2]
print(res)#[{'name': '小马'}, '马', '王']
res=lst[::-1]
print(res)#[{'name': '小马'}, '李', '马', '(1,2,3)', '王', '张']

#format格式化字符串(1顺序传参,2,索引传参,3,关键字传参,4,容器类型(列表,元组,字典传参))
str="{}年真的是特别{}的一年"
res=str.format(2020,"糟心")
print(res)#2020年真的是特别糟心的一年
str="特别{1}的一年{0}年真的是"
res=str.format(2020,"糟心")
print(res)#特别糟心的一年2020年真的是
str='2010年{who}向{who1}借了{money}块钱,一直没换'
res=str.format(who='什么龙',who1="小马",money=300)
print(res)#2010年什么龙向小马借了300块钱,一直没换
#容器类型传参
str='2010年{0[1]}向{1[0]}借了{2[0]}块钱,一直没换'
res=str.format(["什么龙","什么伟"],("小马","兔子"),("500",))
print(res)#2010年什么伟向小马借了500块钱,一直没换
#方法二
str='2010年{name[1]}向{username[0]}借了{money[0]}块钱,一直没换'
res=str.format(name=["什么龙","什么伟"],username=("小马","兔子"),money=("500",))
print(res)
# 方法三 (字典 在format当中,不要加上引号)
strvar = "{woman[sm]}向{man[0]}抛了一个眉眼,鼻血直冒三万多尺,喷血而亡."
res = strvar.format( woman = {"cr":"陈芮","sm":"刘思敏"} , man = ("黄俊","朱佳怡"))
print(res)

###format的填充符号的使用(^,>,<):(原字符串居中,原字符串居右,原字符串居左)({who:!<10})
strvar="{who:*^10}在北京的书生公司上班,职位为{company:&<10},干了{many:?>9}年了,准备养老了"

res=strvar.format(who="小亮",company="测试工程师",many="13")
print(res)#****小亮****在北京的书生公司上班,职位为测试工程师&&&&&,干了???????13年了,准备养老了
###进制转换等特殊符号的使用(:d,:s,:f :,)
strvar="{:s}看上了一辆SUV,打算买{:<5d}台,需要{:.2f}万元,银行卡里还剩下{:,}元"
res=strvar.format("欣欣",10,9.9,1000000)
print(res)

#字符串相关函数
# capitalize,title,upper,lower,swapcase,len,count,find,index,starswith,endswith,is 为系列函数
strvar="what is you Name"
res=strvar.capitalize()
res1=strvar.title()
res2=strvar.upper()
res3=strvar.swapcase()
res4=len(strvar)
#统计某个字符串中某个元素的数量
res5=strvar.count("a")
print(res,res1,res2,res3,res4)
print(res5)
#find查找某个字符串第一次出现的索引位置find(字符,start,end)
#index 和find功能相同,找不到直接报错
strvar="my dad is 66 years old,but,my dad looks very young"
res=strvar.find("my",2,20)
print(res)
#startswith endswith判断是否以某个字符或者字符串为开头或则结尾,返回TrueorFasle,endswith(字符,start,with)
strvar="my dad is 66 years old,but,my dad looks very young"
res=strvar.startswith("my")
print(res)
#is系列函数,isdecimal是否是纯数字
strvar="Today Is Moday"
res=strvar.isupper()
print(res)
strvar="today is monday"
res=strvar.islower()
print(res)
strvar="1122222"
res=strvar.isdecimal()
print(res)
####split,join ,strip,replace
#split#按某字符将字符串分割成列表,(默认字符时空格)
strvar="今^&天心情很不爽,被商家欺骗了"
strvar1="11111"
res=strvar.split("&")
print(res)#['今^', '天心情很不爽,被商家欺骗了']
strvar="你 今 天太棒 了"
#可以选择分割几次,从左向右
res=strvar.split(" ",2)
print(res)#['你', '今', '天太棒 了']
#join按照某个字符将列表拼接成字符串(容器类型都可以)
lst1=["每天都要好心情"]
lst2=["你说对吗","老铁"]
print("****".join(lst2))#你说对吗****老铁
##center填充字符串,原字符串居中(默认填充空格),strip默认去掉首尾两边的空格,replace默认把字符
# 串中的旧字符换成新字符
v1="很爱很爱你"
res=v1.center(20)
print(res)
#replace("旧的","新的")
strvar = "a b c"
res = strvar.replace(" ","")
print(res)


猜你喜欢

转载自www.cnblogs.com/bonnyxinxin/p/13209996.html