小黑日记005:容器类型——第一节 通用操作

容器类型

一、 通用操作
二、 字符串 str
三、 列表 list
四、 元组 tuper
五、 字典 dict
六、 集合 set
七、 固定集合 frozenset



一、通用操作

1、数学运算符:+,+=,乘,乘=

+:用于拼接两个容器
str01 = "悟空"
str02 = "八戒"
str03 = str01 + str02
print(str03)    # output:悟空八戒
+=:用于原容器与右边容器拼接,并重新绑定变量`
str02 += str01
print(str02)    # output:八戒悟空
*:重复生成容器
print(str02*2)    # output:八戒八戒
*=用原容器生成重复元素,并重新绑定变量
str02 *= 2
print(str02)    # output:八戒八戒

2、成员运算符:in , not in

语法:数据 in 序列
	 数据 not in 序列
作用:判断字符串中是否存在某字符或字符串,返回bool类
									(存在Ture/不存在Flase)

补充:查找字符串是否存在某一字符/字符串,出现的次数、是否以特定字符串开头或结束,字符串是否为纯数字/字母,是否包含特殊字符

1、查找字符串是否包含某一元素:
	1) find()
		字符串.find.(元素) 存在,返回第一个该元素下标(从左到右);不存在,返回-1。
		字符串.rfind.(元素)  ...同上(从右到左)...
	2)index.()
		字符串.index.(元素) 存在,返回第一个该元素下标(从左到右);不存在,返回Flase。
		字符串.rindex.(元素)  ...同上(从右到左)...
	3)count()
		字符串.count.(元素) 统计元素出现次数,存在则返回次数,不存在返回0。
	4)starswith()
		字符串.starswith.(Hello) 判断字符串是否以“Hello” 开头。
	5)endswith()
		字符串。endswith.(World) 判断字符串是否以“World”结束。
	------------------------------------------------------------------------------
	6)“asdfg”.isalpha()	判断是否为纯字母
	7)“12345”.isdigit()	判断是否为纯数字
	8)“abc123”.isalnum()	判断是否包含特殊字符(字符串只包含字母、数字、汉字字符,返回True,否则Flase)
	------------------------------------------------------------------------------
	9)mystr.rjust(50)	将mystr字符串在50长度空间向右看齐
	10)mystr.ljust(50)	将mystr字符串在50长度空间向左看齐
	11)mystr.center(50)	将mystr字符串在50长度空间居中显示

3、字符串的替换与分割( split() vs partition() )

例:mystr = “你太自鸣得意了,\n真是大笨蛋!”

1)replace(“元素”,“新元素”)

作用:将所有你替换成you,原数据不变
mystr = “你太自鸣得意了,\n真是大笨蛋!”
print(mystr.replace("你","you"))#output:you太自鸣得意了,
								#换行:真是大笨蛋!
------------------------------------------------------------------------------

2)split()

 返回类型:列表
 作用:
 (1)如果未提及sep (分隔符),将根据字符串中的空格将字符串拆分(列表);
a="Hello Python"
print (a.split())#Output:['Hello', 'Python']
 (2)如果提到了sep(分隔符),它将根据分隔符的出现进行拆分(列表);
colors='red-green-blue-yellow'
print (colors.split("-"))#Output:['red', 'green', 'blue', 'yellow']
(3)sep = "three",它将根据three的出现进行拆分(列表),并删除three;
a="three times by three makes nine"
print (a.split(sep="three"))#Output:['', ' times by ', ' makes nine']
(4)提到最大拆分:如果将maxsplit设为1 ,则仅在第一次出现时拆分;如果将maxsplit设为2 ,则仅在前两个出现时拆分。
colors="red-orange-yellow-purple"
print (colors.split("-",maxsplit=1))#Output:['red', 'orange-yellow-purple']
print (colors.split("-",maxsplit=2))#Output:['red', 'orange', 'yellow-purple']
(5)如果字符串中不存在sep(分隔符),则不会拆分字符串-它将返回包含字符串本身的列表
s="HelloPython"
print (s.split())#Output:['HelloPython']
(6)sep(分隔符)也可以包含多个字符-它们被分组在一起
colors="red<>green<>yellow<>blue<orange"
print(colors.split("<>"))#Output:['red', 'green', 'yellow', 'blue<orange']

3)rsplit()

同split()	,方向从右到左

4)splitlines()

作用:
(1)按照换换行符进行分割(列表)
name = "我的小宝贝啊\n我的小宝贝"
print(name.splitlines())#Output:['我的小宝贝啊', '我的小宝贝']
(2)通过提及keepends = True包含换行符 
colors="red\norange\nyellow\npurple"print (colors.splitlines(keepends=True))#Output:['red\n', 'orange\n', 'yellow\n', 'purple']
(3)split()	vs	splitlines()
colors="red\norange\nyellow\npurple\n"
print(colors.splitlines())#Output:['red', 'orange', 'yellow', 'purple']
print(colors.split("\n"))#Output:['red', 'orange', 'yellow', 'purple', '']
------------------------------------------------------------------------------

5)partition()

作用:在第一次出现sep时分割字符串,并返回一个三元组,其中包含分隔符之前的部分,分隔符本身以及分隔符之后的部分。 如果找不到分隔符,则返回一个包含字符串本身的三元组,然后是两个空字符串。
返回类型:元组
(1)在第一次出现sep(定界符)时分割字符串
colors="red-orange-yellow-purple"
print (colors.partition("-"))#Output:('red', '-', 'orange-yellow-purple')
(2)sep用作空格
s="Hello Python"
print (s.partition(" "))#Output:('Hello', ' ', 'Python')
(3)如果未提及Sep,则将引发TypeError
s="Hello Python"
print (s.partition())#Output:TypeError: partition() takes exactly one argument (0 given)
(4)如果在字符串中未找到sep,它将返回一个包含字符串本身的3元组,然后是两个空字符串 
s="HelloPython"
print (s.partition(" "))#Output:('HelloPython', '', '')

6)rpartition()

作用:“在最后一次出现sep时分割字符串,并返回一个三元组,其中包含分隔符之前的部分,分隔符本身以及分隔符之后的部分。 如果找不到分隔符,则返回一个包含两个空字符串的三元组,然后是字符串本身。”

4、删除字符串空格

1)lstrip()	#删除字符串左边空格
name = " 你好啊! "
print(name.lstrip())#output:("你好啊! ")
2)rstrip() #删除字符串右边空格
name = " 你好啊! "
print(name.rstrip())#output:(" 你好啊!")
3)strip() #删除字符串两边空格
name = " 你好啊! "
print(name.strip())#output:("你好啊!")

5、字符串字母大小写

1)mystr.capitalize()	#将字符串首字母大写
2)mystr.title()	#将字符串每个单词首字母大写
3)mystr.lower()	#字符串统一转化为小写字母
4)mystr.upper()	#字符串统一转化为大写字母

6、索引 index (不可越界)

1)作用:访问容器元素

2)语法:容器[整数] 整数:元素下标

3)说明:

正向索引:0 ~ len(s)-1
反向索引:-1 ~ -len(s)

7、切片 slice (可越界)

1)作用:从容器中取出相应的元素重新组成一个容器。

2)语法:容器[(开始索引):(结束索引):(步长)]

3)说明:结束索引不包含该位置元素(左闭右开)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值