2图灵python大海老师数据类型的方法和操作.pdf

pycharm文件头添加注释

setting /Editor/File and Code Templates/Python Script
然后进行编辑,${NAME}.py 可自动添加文件名

可变类型与不可变类型

可变数据与不可变数据的使用方法不同
当添加新值之后,原值与新值之间:
可变类型:值变,id不变(可变类型的id固定)
不可变类型:值变,id也变(不可变类型的id会随着新值的产生而改变)

布尔

布尔类型不仅可以表示真假,还可以表示有无,还可以表示满足或不满足

字符串

字符串属于不可变类型,值变,id也变,字符串的所有修改操作都是产生一个新值

提取字符

提取单个字符
提取首个字母,如下
name=’dahai’
print(name[0])
提取多个字符
切片(顾头不顾尾,步长)查找字符串中的一段值,[起始值:终止值:步长]如:
msg=’hello world’
print(msg[0:3:2])
提取不会改变原值
了解
起始值,终止值如果不输入数字,则默认是从头取到尾
步长如果是负值,则切片会反向取值

len

长度len方法,可以计算字符数

in和not in

用来判断一个小字符串是否存在于一个大字符串中,结果返回布尔类型

find,index

在大字符串中查找小字符串,find函数,没找到会返回-1;index函数没找到会报错。
1.png
结果:2.png
index查找报错结果:
2.png

count

用来统计一个字符串在另一个字符串中出现 的次数count。
1.png结果:Snipaste_2022-06-04_21-10-34.png

isdigit

判断 一个字符串里的数据是不是都是数字, isdigit 返回布尔值
1.png
结果:2.png

isalpha

判断每个元素是不是都是字母 isalpha
1.png结果:2.png

int

·把全是数字的字符串转换成整型
当然也可以用来判断字符串里是不是全是数字,有一个不是数字就会报错
1.png

startswith、endswith

startswith比较开头的元素是否相同;endswith比较结尾的元素是否相同
1.png结果:3.png
2.png结果:image.png

islower、isupper

判断字符串中的字母是不是全是大写或小写 islower, isupper
1.png
2.png
结果:3.png

拼接

用“+”拼接 ,可以将两个字符串拼接起来。print(‘a’+’b’) 结果:ab
注意:如果用逗号隔开两个字符串,如:print(‘a’,’b’),表示的是打印两个字符串中间会用空格隔开,结果: a b

字符串也可用乘法拼接,用 * 号将字符串乘以数字,表示多少个该字符串相拼接

format

1.png结果:
2.png

join

用来组合列表里面的元素,拼接成字符串
3.png
结果:
4.png

del

可用来删除字符串
5.png
结果:6.png

字符串属于不可变类型,所以更改的实质上就是产生一个新的值(新的数据)(新的id),它也可以给同一个变量重新赋值,但此时的它已经不是原来的它了。

lower,upper

字符串全部变大写或全部变小写
7.png结果:8.png

9.png结果:10.png

capitalize

首字母转换成大写
11.png结果:12.png

split

可以把字符串切分成列表 split 默认空格字符切分
13.png
结果:14.png
也可以按照想要的字符对字符串进行切分
15.png
结果:16.png
切分split的作用:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,从而可以方便进行取值。
1.png
结果:2.png

replace

替换replace(存在的字符,新的字符,个数)
3.png
结果:5.png

strip

去掉字符串左右两边的字符, 不写默认是去空格字符,不管中间的其他的字符(包括空格字符)
1.png
结果:2.png

了解

center,l just,r just 多余添加自己想要的字符。
1.png
结果:1.png

转义

字符串的转义,加了\字符不再表示其本身含义,常用 \n \t
\n为纵向换行符 \t为横向换行符(相当于一个tab)
1.png

反转义

1.png

结果:2.png

数字

数字是不可变类型,值变,id也变
赋值运算(运算符后跟个等号)
a+=1等价于a=a+1
1.png

布尔类型

布尔类型.png
布尔值不仅代表真假,还可代表有无。
1.png
1.png空字符串,结果为false

True与False还可代表满足与不满足 (了解)
1.png
如果是空字符串结果执行else下的代码体

列表

列表属于可变类型
1.png
2.png结果:3.png

1.png

切片

(顾头不顾尾)

查找列表中的一段值[起始值:终止值:步长]
1.png2.png

  1. (和字符串提取字符一样,只不过字符串取的是字符,列表取的是一个数据类型/元素,但是字符串不可以通过索引改值)<br />了解<br />![3.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654394289857-fcd58be2-b9bb-4353-b5cb-da8463982492.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=ui&id=kvcvI&name=3.png&originHeight=21&originWidth=315&originalType=binary&ratio=1&rotation=0&showTitle=false&size=9720&status=done&style=none&taskId=u6357df5c-dc89-4a35-8cdb-bb8a10a9130&title=)<br />![1.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654394161130-450016c5-d769-4850-988c-57eaa82c1526.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=ui&id=u56393a5e&name=1.png&originHeight=121&originWidth=304&originalType=binary&ratio=1&rotation=0&showTitle=false&size=24164&status=done&style=none&taskId=ud333ab96-ec8a-4c47-9065-466c2f14b55&title=)![2.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654394161155-1d8da64d-d9a9-410a-b9c9-3731f3f3efcd.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=ui&id=u5e54c671&name=2.png&originHeight=101&originWidth=383&originalType=binary&ratio=1&rotation=0&showTitle=false&size=30816&status=done&style=none&taskId=u009bc018-d78f-4c9f-b7e0-f9a0fcf79dd&title=)

len

统计列表元素个数
3.png
1.png结果:2.png

count

查看某个元素的个数
1.png2.png

in 和 not in

成员运算,in 和 not in
1.png2.png

index

返回下标/索引
3.png
1.png
结果:2.png
1.png
结果:2.png

append

列表末尾添加元素

1.png2.png
append是在原值上修改,而不是创造一个新值,所以L.append()函数这里表示过程,而非结果
1.png结果:2.png

extend

末尾 添加多个元素,(实际上是往一个列表中插入另一个列表)
1.png2.png

insert

元素按索引插入
1.png2.png

删除

del

全部删除,<br />![1.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654395656474-d43e86f3-dc2a-49b1-8f2d-3b75a1cc9de0.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=ui&id=ube2fa829&name=1.png&originHeight=109&originWidth=217&originalType=binary&ratio=1&rotation=0&showTitle=false&size=18124&status=done&style=none&taskId=u8c53cd77-79d0-4fd6-9313-4e0c29026f2&title=)![2.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654395656481-f0b35038-c3e4-4a04-a79a-28b74233f1af.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=ui&id=ud0d14137&name=2.png&originHeight=19&originWidth=340&originalType=binary&ratio=1&rotation=0&showTitle=false&size=9152&status=done&style=none&taskId=uf8a766b5-b072-482d-bc89-f4ad6bcf897&title=)<br />索引删除<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654395952233-0f129ba1-2db8-442d-8038-8e3768e22c97.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=79&id=uc631a0dc&name=image.png&originHeight=99&originWidth=335&originalType=binary&ratio=1&rotation=0&showTitle=false&size=5335&status=done&style=none&taskId=u45fb9733-0437-49e5-952c-3dc36909a44&title=&width=268)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/28549750/1654395896241-0f6e22a9-bc4e-4d7e-a4ce-f3ad2dea4cb4.png#clientId=ufc4473bf-1f29-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=21&id=ubaf6f4f9&name=image.png&originHeight=26&originWidth=246&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1375&status=done&style=none&taskId=ueedf144a-434d-4e18-ae2c-af4b53b31db&title=&width=196.8)

remove

移除特定元素,指定删除
image.png

pop

从列表中拿走一个值 ,按照索引删除值,默认删除最后一个元素

>>> L=['经济',1,2,3,4,5,"黄海"]
>>> res1=L.pop()
>>> print(res1,L)
黄海 ['经济', 1, 2, 3, 4, 5]

>>> res2=L.pop(0)
>>> print(res2,  L)
经济 [1, 2, 3, 4, 5]

clear

清空列表元素

>>> L=[1, 2, 3, 4, 5]
>>> L.clear()
>>> print(L)
[]

可以直接索引赋值修改

>>> L=[1, 2, 3, 4, 5]
>>> L[0]='白海'
>>> print(L)
['白海', 4, 3, 2, 1]

reverse

>>> L=[1, 2, 3, 4, 5]
>>> L.reverse()
>>> print(L)
[5, 4, 3, 2, 1]

sort

数字排序,不写默认是正序,即默认参数reverse=False;
image.png结果:image.png
reverse=True 参数是倒序
image.png结果:image.png

元组

元组不能添加和修改,属于不可变类型,想要修改可先转变为列表
image.png
结果:image.png

元组的索引,切片,长度len,count个数,index查找 元素序号,成员运算与列表相同,

字典

字典属于可变类型,字典的键值对是无序的

字典创建的另一种方式,等号赋值 (了解)
image.pngimage.png

增加

字典添加键值对,如下所示,这样可以直接赋值一个不存在的key及value值
image.png

len统计的是字典键值对的数量

成员运算

字典成员运算,in 和 not in,判断的是key,返回的是布尔
image.png
image.png
结果:image.png

删除

clear清空字典
image.png结果:image.png

del

删除,key值,将会删除的是相应的键值对。
字典info原值
image.png
image.png
结果:image.png

pop

删除,返回值是value,实际 上就是拿走了字典的value
image.png
结果:image.png
如果pop拿的是不存在的key值,则会报错。

popitem

用来删除最后一对键值对(显示的最后一对,字典本身是无序 的), 字典属于无序类型,当键值对最后变成一对时,会变成元组。
image.png
结果:image.png

update
image.png
结果:image.png

set.default

image.png
image.png

直接查一个不存在的key值会报错
image.png
image.png结果:image.png
用get查找, 没有key就返回None,不会报错。

取出

image.png
取 所有的键值对 items ,取出 的键值对在列表中将 以元组的形式表示。

集合

集合属于可变类型,集合内部的每一个元素都必须是不可变类型。(所以集合里边不能有列表)
集合中不能存在相同的元素

add

eg:
s={1,2,3}
s.add(“大海”)
print(s)

pop 看pycharm是怎样无序排列的,以当时的顺序进行从第一个元素删除。
image.png
image.png 默认删除第一个元素

remove 指定删除,指定移除元素。

update

image.png结果:image.png

集合转换成列表 list
s1=list(s) #它是按照pycharm临时的顺序转换的

同样用 set 也可以将列表转换成集合

集合去重

具有局限性:1.无法保证原数据类型的顺序,2.当该数据中的所有数据均为不可变类型时才能使用。

image.png