函数: | 注意:函数必须先定义后使用 返回语句和参数不需要时可以省略 无返回值的函数返回None,None在 if 条件中等于false |
函数说明文档:通过多行注释(三个双引号+回车自动生成,pycharm)
global num 将函数内的局部变量改为全局变量
数据容器:
针对可不可以修改的定义:对原容器是否造成影响,即修改元素后是改变本身还是生成新的容器
一、list列表 支持重复元素、有序 可修改
列表可以一次性存储多个元素,且每个元素可以是不同类型,支持列表嵌套
#字面量 [元素1,元素2,....]
#定义变量 变量名=[元素1,元素2,.......]
#定义空列表 变量名=[ ] 或 变量名=list( )
#通过下标索引获取列表数据
列表名[下标] 从前向后从0开始,每次+1; 从后向前从-1开始,每次-1(反向索引)
list方法:
查找元素在列表的下标: 列表名.index(元素) 存在则返回元素所在列表的位置,不存在则报错
在指定下标插入元素:列表名.insert(下标,元素)
追加元素:列表名.append(元素) 只在列表尾部添加元素
追加一批元素:列表名.extend(其他数据容器) 即将其他数据容器的元素取出来,依次添加到列表尾部
通过下标删除指定元素:方式1:del 列表名[下标]
方式2:列表名.pop(下标) 该方式具有返回值,可用变量接收,返回列表指定下标被删除的元素
删除某元素在列表中的第一个匹配项:列表名.remove(元素)
清空列表的内容:列表名.clear()
统计元素在列表的数量:列表名.count(元素) 具有返回值
函数 len(列表) 用于统计列表元素个数 返回一个int值
for循环对容器遍历:
for 临时变量 in 数据容器 :
对临时变量进行处理
二、元组 支持重复元素、有序 不可修改
定义后不可修改,相当于不可修改的list列表,同样支持不同类型元素和嵌套
定义:变量名=(元素1,元素2,...) 注意是小括号
注意:元组只有一个数据时,在该数据后面要添加一个逗号。如t=(“666”,)
支持下标索引、index(元素)、count(元素)、len(元组名),以及遍历和list一样
虽然不可修改元组内容,但是可以修改元组内的list列表的内容(即元组嵌套了list时)
三、字符串 支持重复元素、有序 不可修改
1、和list一样可以正反向通过下标索引取值
2、和元组一样,不可修改内容
3、变量名.replace(字符串1,字符串2) 用字符串2替换字符串1得到新的字符串返回
4、变量名.split(分隔符字符串) 根据字符切分,返回list列表数据类型
5、变量名.strip() 去除字符串前后空格
变量名.strip(字符串1) 去除字符串前后指定的字符串1,注意:是去除和字符串1中相匹配的字符
如 my_str="12my tree21" my_str.strip("12") 结果是“my tree” ,是分别根据“1”,“2”来去除的
四、序列 支持重复元素、有序
指:内容连续、有序,可使用下标索引的一类数据容器,如列表、元组、字符串等都可视为序列
序列支持切片,切片即从一个序列中取出子序列,切片不影响序列本身,而是得到一个新序列
语法:序列[起始下标 : 结束下标 : 步长] 下标可以留空,表示从头 / 尾部开始 / 结尾
步长默认为1,可省略; [ : ] 表示从头到尾以步长为1进行切片,即取原数据 [ : :-1] 反转序列
注:切片得到的序列数据取不到结束下标对应的数据,即不包含结束下标
result0=my_str[5:10][::-1] 像这种可以复合切片,先切片截取再逆转
五、集合 不支持重复元素、无序 可修改
定义空集合: 变量名=set() 不能是变量名={ },因为这是空字典的定义
定义集合变量: 变量名={元素1、....、元素n}
自动消除重复元素,因为无序所以不支持下标索引,所以集合遍历不能用while循环只能用for循环
常用操作
1、添加元素: 集合名.add(元素)
2、移除元素: 集合名.remove(元素)
3、随机取出某一元素并从集合移除: 集合名.pop() 返回结果,即返回取出的元素
4、取集合的差集(即集合1有集合2没有):集合1.difference(集合2) 返回一个新集合,不改变原集合
5、消除2个集合的差集: 即在集合1内,删除和集合2相同的元素
集合1.difference_update(集合2) 集合1被修改,集合2不变
6、合并2个集合: 集合1.union(集合2) 将集合1和集合2合成新集合,不改变原集合
六、字典 可修改
存储的是键值对,key不可以重复,无下标索引,通过key来获取value:字典名 [ key ]
key可以为除字典以外的任意数据类型,value可以为任意数据类型包含字典
定义语法: 字典变量名={key:value,key:value,...,key:value}
定义空字典: my_dict={ } 或 my_dict=dict()
常用操作
1、获取指定key 的value:字典[key]
2、新增/更新元素: 字典[ Key ]=Value 若key存在则更新value否则新增
3、取出value并删除元素:字典.pop(key) 返回指定key的value值,并删除字典中的key,value
4、获取全部的key:字典.keys() 获取字典中全部的key
5、遍历 两种遍历方式都行
①keys=my_dict.keys() 获取字典全部的key
for key in keys:
print(my_dict[key]) 打印key对应的value
② for key in my_dict:
print(my_dict[key]) 打印key对应的value
七、数据容器对比
通用函数:len(容器),min(容器),max(容器)
通用类型转换: 字典转成其他容器在于丢不丢失value值
list(容器) 将容器转换成列表 str(容器) 将容器转换成字符串
tuple(容器) 将容器转换成元组 set(容器) 将容器转换成集合
通用排序功能: 排序后的结果通通为列表对象
sorted(容器,[reverse=True]) reverse默认为false,从小到大排序
字典默认根据key进行排序和比较