知识点回顾
定义:列表是可修改的,元素以逗号分割的,以中括号包围的有序序列
使用:lst = [1,2,3]
索引从0开始,索引可以为负,索引-1对应最后一个元素
根据索引取值:列表[索引值]
-
列表相加,列表重复,列表切片,多个变量接受列表中的值
- 切片:列表[开始索引:结束索引:步长]
- 开始索引不写,默认从开头
- 结束不写,默认到尾部
- 步长不写,默认是1,如果步长为负,则是倒着取
- 区间是左闭右开
- 超出索引外的切片不会报错,而是空列表
- 切片:列表[开始索引:结束索引:步长]
-
列表特有方法
- 增加
- append,insert,extend
- 删除
- pop,remove,clear,del
- 修改
- 列表[index]=值,reverse,sort,sorted,
- 查找
- count,index,len()
- 增加
-
深浅拷贝
- 浅拷贝:对于第一层创建的是新的内存地址,第二层开始,指向的都是同一个内存地址
- 深拷贝:嵌套的可变类型重新开辟一片内存空间
推导式
- 列表推导式,集合推导式,字典推导式
- 列表推导式:是利用其它列表创建新列表的一种方式
- 格式
- 变量=[表达式 for 变量 in 列表]
- 变量=[表达式 for 变量 in 列表 if 条件]
- 格式
元组
-
元组是一个不可修改的,元素以逗号分隔的以小括号包围的有序序列
- 有逗号才是元组
格式:变量名=(元素1,元素2....)
访问元组:和访问列表一样,可以使用索引、切片、for循环来获取元素
元组的合并和重复:合并:+ ,重复:*
-
访问多维元组:元组中还有元组,访问方式和列表一样
tup1 = (("钟冠冠",23),("黄志",28),("陈方",22)) #获取每个人的姓名 for i in tup1: print(i[0])
-
使用多个变量接收值
-
格式:变量1,变量2=(元素1,元素2)
tup = (1,2,3) a,*b = tup print(a) print(b)
-
修改元组:如果元素本身是一个可变数据类型的列表,那么其嵌套项可以被改变
tupee函数:将其他数据类型转换为元组
元组方法:index,count,enumerate
字典
当保存一些事物信息的时候,可以使用字典格式
格式:{key:value},key必须是不可变类型,唯一的,value数据类型任意
-
定义字典:可以使用dict(),也可以直接使用{}
-
注意:大括号中应包含key-value,key-value之间用英文冒号隔开,
多个key-value之间好用逗号隔开
字典中的键不可重复,重复会覆盖
-
-
字典特有方法
- 增加
方法 描述 通过key添加value值 如果key存在,则覆盖, 字典[key]=value setdefault() 指定key和value,如果key存在则不覆盖, 字典.setdefault(key,value) - 删除
方法 描述 pop() 返回并删除指定键对应的值 字典.pop(键) popitem() 返回并删除最后一个键值对 字典.popitem() clear() 清空字典 del 删除整个字典或字典中对应的键值对 - 修改
方法 描述 通过key修改value值 如果key存在,则覆盖, 字典[key]=value update() 传递一个字典,如果key相同,则覆盖,没有key则添加 字典1.update(字典2) - 查找
方法 描述 通过key查找 通过指定的key找到对应的值 字典[键] keys 包含字典所有的键的dict_keys对象,该对象可以转化为列表 values 包含字典所有的值的dict_keys对象,该对象可以转化为列表 get 以键取值,如果指定的键不存在,默认返回None,可以指定返回内容 items 返回字典键值,呈元组形式 len 字典长度,即键值对的个数 -
使用dict函数将其他数据转换为字典
lst = [("name","黄志"),("age",18)] dic = dict(lst) dic = dict(name="黄志",age=18) print(dic)
-
字典排序
dic = {"a":1,"d":4,"b":2,"c":3} 对字典排序,是对键排序 ret = sorted(dic) ret = sorted(dic.values()) print(ret)
集合
定义:集合是盛放多个数据的一种类型。集合中的元素是无序的,唯一的,不可变类型
-
格式:使用{}或者set()创建集合
- 变量名=set(序列)
- 变量名={1,2,3,4}
- 注意:
- 创建空集合不能用{},{}创建的是字典
- 集合中的数据类型只能是不可变类型
- 集合可以自动去重
-
集合操作
- 增加
- add() 集合.add(元素)
- update() 集合1.update(集合2)
- 删除
- pop()
- remove()
- clear()
- del
- 遍历
- for i in 集合
- 增加
-
集合的数学运算
1.交集(&或者intersection) 取公共部分
2.并集(|或者union)取去除重复后的内容
3.差集(- 或者difference)取set1或者set2中除去公共部分后独有的内容
4.反交集(^或者symmetric_difference) 去除公共部分后所有的内容
5.子集(<或者issubset)
6.超集(>或者issuper)