01元祖类型 tuple
什么是元祖?
元祖就是一个不可变的列表
用途:当我们需要记录多个同种属性的值,并且只有读的需求没有改的需求时,应该用元祖
定义:在()内用逗号分隔开多个任意类型的元素
t=('egon',) # 注意:当元祖内只有一个元素时,必须加逗号,t=tple(('egon',))
数据类型转换:
tuple('hello')
常用操作+内置方法
(1)优先掌握的操作
按索引取值(正向取+反向取):只能取
切片(顾头不顾尾,步长)
长度
成员运算in和not in
循环
(2)需要掌握的
count 计数
index 查询
存多个值 有序 不可变
02字典
用途:记录多个不同属性的值
定义:在{}用逗号分隔开多个元素,每一个元素都是key:value的形式,其中value可以是任意类型,二key必须是不可变的类型(通常应该是str类型)
dic={1:'aaa',1.3:'(1,2,3)','ddd':'ccc'}
数据类型转换:dict
li=(['name','egon'],('age',18),('gender','male'))
dic={}
for k,v in li:
dic[k]=k
print(dic)
等价于
dic=dict(li)
常用操作+内置方法
(1)优先掌握的操作
按key存取值:可存可取
长度
成员运算in和not in 判断是字段的key
删除
dic.popitem随机删除一个key:value
键keys(),值value(),键值对items()
循环
(1)需要掌握的操作
get***: 取值 取不存在的值不会报错 取的是value
formkeys:快速创建一个字典
li=['name','age','gender']
dic.fromkeys(li,None) or dic={}.fromkeys(li,None)
update:更新 没有加 有的改成新的
setdefault:执行完毕后是为了保证字典中必须有这么一个k,字典中没有这个k则新增,字典中有k这个键不修改字典
返回值返回字典中k对应的value
存多个值 无序 可变
03集合
用途:
d={} #默认定义为字典
set()
1.做关系运算
2.去重(不考虑顺序)
定义:在{}内用逗号分隔开多个元素多个元素必须满足以下条件:
1.每一个元素必须是不可变类型
2.集合内元素不能重复
3.集合无序
数据类型转换
s=set('hello')
常用操作+内置的方法
& 交集
| 并集
- 差集
^ 对称差集
> >= < <= 父集/子集
discard 删除 不存在不报错
isdisjoint 不存在交集返回True
存多个值 无序 可变
如果去重的对象都是不可变类型并且不要求结果跟原来的顺序一致,name可以用set来解决
04布尔类型
在条件判断中 所有的数据都会转换成布尔值
只需记住布尔值为假的数据类型:0,None,空(空列表,空字典....等)
能存多个值的叫做容器类型