数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元组,数字,布尔,str, == 可哈希
可变数据类型:list , dict, set == 不可哈希
dict的 key 必须是不可变数据类型,可哈希
value 任意数据类型.
dict 优点: 二分查找去查询
储存大量的关系型数据
特点:python3.5及以前都是无序的
dic1 = {'age':18,'name':'jin','sex':'male'}
# 增add
dic1['height'] = 185 # 没有键就新增
dic1['age'] = 17 # 有键会覆盖
dic1.setdefault('weight')
dic1.setdefault('weight', 150) #有键值对不做任何改变,没有就添加
print(dic1)
# 删del
print(dic1.pop('age')) #返回key的value
print(dic1.pop('erge','没有二哥key')) #没有该key会报错,但是可以自己指定一个value作为返回值
# 删除操作未知字典的键时
print(dic1)
print(dic1)
dic1.popitem() #随机删除 有返回值 元组, 元组里面是删除的键值
print(dic1)
print(dic1)
del dic1['name']
print(dic1)
dic1.clear() #清空字典
# 改 updata
dic1['age'] = 16
dic = {'name': 'jin', 'age': 18, 'sex': 'male'}
dic2 = {'name': 'alex', 'weight': 63}
dic2.update(dic)
print(dic)
print(dic2)
#updata 操作 ,覆盖添加,有的覆盖,没有的添加
# 查select
dic1 = {'age':18,'name':'jin','sex':'male'}
print(dic1.keys())
print(dic1.values())
print(dic1.items())
for i in dic1:
print(i)
for i in dic1.values():
print(i)
for k, v in dic1.items():
print(k, v)
v1 = dic1['name']
print(v1)
v2 = dic1['name1']
print(v2) 报错
v3 = dic1.get('name1', '没有该key')
# 可自己设置返回值
print(v3)