一.字符串 不可变数据类型
1.书写方式
''
“”
2.下标:从0开始
3.切片
语法:序列[开始位置下标:结束位置下标:步长]
注:1.不包含结束位置下标对应的数据,正负整数均可
2.步长是选取间隔,正负整数均可,默认步长为1
4.查找
find():检测某个子串是否包含这个字符串中,如果在返回这个子串开始的位置下标,**否则返回-1**
语法:字符串序列.find(子串,开始位置下标,结束位置下标)
注:开始和结束位置下标可以省略,表示在整个字符串序列中查找
index():检测某个子串是否包含在这个字符串中,如果在返回这个子串开始的位置下标,**否则报异常**
语法:字符串序列.index(子串,开始位置下标,结束位置下标)
注:开始和结束位置下标可以省略,表示在整个字符串序列中查找
rfind():和find()功能相同,但查找方向为右侧开始
rindex():和index()功能相同,但查找方向为右侧开始
count():返回某个子串在字符串中出现的次数
语法:字符串序列.count(子串,开始位置下标,结束位置下标)
注:开始和结束位置下标可以省略,表示在整个字符串序列中查找
5.修改
replace():替换
语法:字符串序列.replace(旧子串,新子串,替换次数)
注:替换次数如果查出子串出现次数,则替换次数为该子串出现次数
注:数据按照是否能直接修改分为可变类型和不可变类型两种。字符串类型的数据修改的时候不能改变原有字符串,属于不能直接修改数据的类型即是不可变类型
split():按照指定字符分割字符串
语法:字符串序列.split(分割字符,num)
注:num表示的是分割字符出现的次数,即将来返回数据个数为num+1.
如果分割字符是原有字符串中的子串,分割后则丢失该子串。
join():用一个字符或子串合并字符串,即是将多个字符串合并为一个新的字符串
语法:字符或子串.join(多字符串组成的序列)
capitalize():将字符串第一个字符转换成大写
title():将字符串每个单词首字母转换成大写
lower():将字符串中大写转小写
upper():将字符串中小写转换成大写
lstrip():删除字符串左侧空白字符
rstrip():删除字符串右侧空白字符
strip():删除字符串两侧空白字符
ljust():返回一个原字符串左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
语法:字符串序列.ljust(长度,填充字符)
rjust():返回一个原字符串右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
语法:字符串序列.rjust(长度,填充字符)
center():返回一个原字符串居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
语法:字符串序列.center(长度,填充字符)
6.判断
startswith():检查字符串是否以指定子串开头,是则返回True,否则返回False.如果设置开始和结束位置下标,则在指定范围内检查。
语法:字符串序列.startswith(子串,开始位置下标,结束位置下标)
endswith():检查字符串是否以指定子串结尾,是则返回True,否则返回False.如果设置开始和结束位置下标,则在指定范围内检查。
语法:字符串序列.endswith(子串,开始位置下标,结束位置下标)
isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False.
isdigit(): 如果字符串只包含数字则返回True,否则返回False.
isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False.
isspace(): 如果字符串中只包含空白,则返回True,否则返回False.
二、列表 可变数据类型
1.列表格式:[数据1,数据2,数据3,数据4] 可以一次性存储多个数据,且可以为不同数据类型
2.常用操作:增、删、改、查
3.下标:从0开始
4.函数
index():返回指定数据所在位置的下标
语法:列表序列.index(数据,开始位置下标,结束位置下标)
注:查找的数据不存在则报错
count():统计指定数据在当前列表中出现的次数
len():访问列表长度,即列表中数据的个数
5.判断
in:判断指定数据在某个列表序列,如果在返回True,否则返回False
not in :判断指定数据不在某个列表序列,如果不在返回True,否则返回False
6.增加
append():列表结尾追加数据
语法:列表序列.append(数据)
注:若追加的数据是一个序列,则追加整个序列到列表
extend():列表结尾追加数据,如数据是一个序列,则将这个序列的数据逐一添加到列表
语法:列表序列.extend(数据)
insert():指定位置新增数据
语法:列表序列.insert(位置下标,数据)
7.删除
del 目标
删除列表或者删除指定数据
pop():删除指定下标的数据(默认为最后一个),并返回该数据
语法:列表数据.pop(下标)
remove():移除列表中某个数据的第一个匹配项
语法:列表序列.remove(数据)
clear():清空列表
8.
修改:指定下标数据
语法:列表序列[位置下标]=修改数据
逆置:reverse()
排序:sort()
语法:列表序列.sort(key=None,reverse=False)
注:reverse=False升序(默认)reverse=True 降序
复制:copy()
9.列表的循环遍历
while
for
10.列表的嵌套
三、元组 不可变数据类型
1.
一个元组可以存储多个数据,元组内的数据是不能修改的,数据可以是不同的类型
元组数据不支持修改,只支持查找
例如:(1,2,3) (1,)
2.查找
按下标查找数据:元组.[数据下标]
index():返回指定数据所在位置的下标
语法:元组.index(数据)
注:查找的数据不存在则报错
count():统计指定数据在当前元组中出现的次数
len():统计元组中数据的个数
注:元组内的直接数据如果修改则立即报错,但是如果元组里面有列表,修改列表里面的数据则是支持的,故自觉很重要
四、字典 可变类型
1.键值对
2.增:字典序列[key]=值
3.删:
del()/del:删除字典或删除字典中指定键值对
clear():清空字典
4.改:字典序列[key]=值
注:如果key存在则修改这个key对应的值,不存在则新增此键值对
5.查
key值查找:字典序列[key]
注:若存在则返回对应的值,否则报错
get()
语法:字典序列.get(key,默认值)
注:若当前查找的key不存在则返回第二个参数(默认值),若省略第二个参数,则返回None
keys()
values()
items():以元组列表的形式返回
6.字典的循环遍历
in
五、集合 可变数据类型
1.创建
{},set()
注:若创建空集合只能使用set(),因为{}用来创建空字典
2.增加数据
add()
update():追加的数据是序列
3.删除数据
remove():删除集合中的指定数据,若数据不存在则报错
discard():删除集合中的指定数据,若数据不存在也不会报错
pop():随机删除集合中的某个数据,并返回这个数据
4.查找数据
in :判断数据在集合序列
not in :判断数据不在集合序列
六、公共操作
1.运算符
描述 运算符 支持的容器类型
合并 + 字符串、列表、元组
复制 * 字符串、列表、元组
元素是否存在 in 字符串、列表、元组、字典
元素是否不存在 not in 字符串、列表、元组、字典
2.公共方法
len():计算容器中元素个数
del或del():删除
max():返回容器中元素的最大值
min():返回容器中元素的最小值
range(start,end,step):生成从start到end的数字,步长为step,供for循环使用
enumerate():函数用于将一个可遍历的数据对象(如列表、元组、字符串)组合为一个索引序列,同时列出数据和数据下标,一般在for循环当中
3.容器类型转换
tuple():元组
list():列表
set():集合可以快速完成去重,不支持下标