python数据类型
一、字符串(不可变数据类型)
一对引号字符串
三引号字符换:支持换行
1、 下标:又叫索引 ,就是编号
2、 切片:指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作
语法:序列[开始位置下标:结束为止下标:步长]
注意:不包含结束位置下标对应的数据(左闭右开),正负整数均可
步长是选取问题,正负整数均可,默认步长为1
如果选取方向(下标开始到结束的方向)和步长的方向冲突,则无法选取数据
3、 常用操作方法
查找:查找子串在字符串中的位置或出现的次数
find():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则返回-1
语法:字符串序列.find(子串,开始位置下标,结束位置下标)
rfind():和find()功能相同,但查找方向为右侧开始
index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,否则则报异常
语法:字符串序列.index(子串,开始位置下标,结束位置下标)
rindex():和index()功能相同,但查找方向为右侧开始
count():返回某个子串在字符串中出现的次数
语法:字符串序列.count(子串,开始位置下标,结束位置下标)
修改:就是通过函数的形式修改字符串中的数据
replace():替换
语法:字符串序列.replace(旧子串,新子串,替换次数)
原有字符串的数据不会修改,修改后的数据是replace()的返回值, 说明字符串是不可变数据类型
split():按照指定字符分割字符串
分割,返回一个列表,丢失分隔字符
语法:字符串序列.split(分割字符,num)
num表示的是分割字符出现的次数,即将来返回数据个数为num+1个
join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
连接、返回一个新字符串
语法:字符或子串.join(多字符串组成的序列)
capitalize():将字符串第一个字符转换成大写
title():将字符串每个单词首字母转换成大写
lower():将字符串中大写转小写
upper():将字符串中小写转大写
lstrip():删除字符串左侧空白字符
rstrip():删除字符串右侧空白字符
strip():删除字符串两侧空白字符
ljust():返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
语法:字符串序列.ljust(长度,填充字符)
rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
center():返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
判断:
startswith():检查字符串是否是以指定子串开头,是则返回True,否则返回False。如果设置开始和结束位置下标,则在指定范围内检查
语法:字符串序列.startswitch(子串,开始位置下标,结束位置下标)
endswitch():检查字符串是否是以指定子串结尾,是则返回True,否则返回False
如果设置开始和结束位置下标,则在指定范围内检查
语法:字符串序列.endswitch(子串,开始位置下标,结束位置下标)
isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
isdigit():如果字符串只包含数字则返回True否则返回False
isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
isspace():如果字符串串中只包含空白(空格),则返回True,否则返回False
二、列表(可变数据类型)
1、 列表的格式:[数据1,数据2,……]
列表可以一次性存储多个数据,且可以为不同数据类型
2、 列表的常用操作:增删改查
3、 查找(下标方法、函数方法)
index():返回指定数据所在位置的下标
语法:列表序列.index(数据,开始位置下标,结束位置下标)
count():统计指定数据在当前列表中出现的次数
len():访问列表长度,即列表中数据的个数
in:判断指定数据在某个列表序列,如果在返回True,否则返回False
not in:判断指定数据不在某个列表序列,如果不在返回True,否则返回False
4、 增加(增加数据到指定列表中)
append():列表结尾追加数据
语法:列表序列.append(数据)
注意:追加的如果是一个序列,则追加整个序列到列表的结尾(append)
extend():列表结尾追加数据,
如果数据是一个序列,则将这个序列的数据逐一添加到列表(extend)
语法:列表序列.extend(数据)
Insert():指定位置新增数据
语法:列表序列.insert(位置下标,数据)
5、 删除
del 目标 或者del(目标)
del可以删除指定下标的数据(数据或列表)
pop():删除指定下标的数据(默认为最后一个)并返回该数据
无论是按照下标还是删除最后一个,pop函数都会返回这个被删除的数据
语法:列表序列.pop(下标)
remove():移除列表中某个数据的第一匹配项
语法:列表序列.remove(数据)
clear():清空列表
6、 修改
直接修改指定下标的数据
逆置:reverse()
排序:sort()
语法:列表序列.sort(key=None,reverse=False)
Reverse表示排序规则,reverse=True降序,reverse=False升序(默认)
7、 复制
函数:copy()
8、 列表的循环遍历
While 、 for
9、列表嵌套:一个列表里面包含了其他的子列表
三、元组(不可变数据类型)
特点:定义元组使用小括号,且逗号隔开各个数据,数据可以是不同的数据类型
1、一个元组可以存储多个数据,元组内的数据是不能修改的
单个数据元组定义是必须加逗号,例t2=(10,),否则数据类型为唯一的这个数据的数据类型
2、元组的常见操作(不支持修改,只支持查找)
查找:
按下标查找
index():查找某个数据,如果数据存在返回对应的下标,否则报错
count():统计某个数据在当前元组出现的次数
len():统计元组中数据的个数
修改:只能修改元组里面嵌套的列表
四、字典(可变类型)
1、字典里面的数据是以键值对形式出现,字典数据和数据顺序没有关系,即字典不支持下标,后期无论数据如何变化,只需要按照对应的键的名字查找数据即可。
特点:符号为大括号
数据为键值对形式出现
各个键值对之间用逗号隔开
空字典:dict2 = {} 或 dict3 = dict()
2、常见操作
新增和修改:字典序列[key]=值
注意:如果key存在则修改这个key对应的值,如果不存在则新增此键值对
删除:del() 或者 del: 删除字典或删除字典中指定键值对
Key不存在会报错
clear():清空字典
查找:(1)key值查找
存在返回对应值,否则报错
(2)get():字典序列.get(key,默认值)
如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None
(3)keys():字典序列.keys()
查找字典中的所有key,返回可迭代对象(可以用for遍历)
(4)values()字典序列.values
查找字典中的所有value,返回可迭代对象(可以用for遍历)
(5)items()字典序列.items
查找字典中所有的键值对,返回可迭代对象,里面的数据是元组。元组数据1是字典的key,元组数据2是字典key对应的值
3.循环遍历
1)遍历字典的key
2)遍历字典的value
3)遍历字典的元素(items)
4)遍历字典的键值对(对得到的键值对进行拆包)
for key, value in dict1.items():
print(f'{key} = {value}')
五、集合(可变类型)
1、 创建集合使用{}或set(),但是如果要创建空集合只能使用set(),因为{}用来创建空字典
集合有去重复性,不能使用下标(没有顺序)
2、 增加数据
add():追加的是单一数据
update():追加的数据是序列
因为集合有去重功能,所以当向集合内追加的数据是当前集合已有数据的话,则不进行任何操作
3、 删除数据
remove():删除集合中的指定数据,如果数据不存在则报错
discard():删除集合中的指定数据,如果数据不存在也不会报错
pop():随机删除集合中的某个数据,并返回这个数据
4、 查找数据
in:判断数据在集合序列
not in:判断数据不再集合序列