#dict
#数据类型划分:可变数据类型,不可变数据类型
#不可变数据类型:元组;bool;int;str; 又叫可哈希
#可变数据类型:list;dict;set 不可哈希
'''
dict key 必须是不可变数据类型,可哈希,
value 任意数据类型
dict 优点:二分查找去查询;
存储大量的关系型数据;
特点:无序的(3.5以前的版本)
'''
dic1 = {
'age':18,
'name':'fu',
'sex':'male',
}
#增: dic1
dic1['heigt'] = 168 #没有key 直接添加,有则修改Value
dic1.setdefault('weight',150) #默认Value 值 None; Key值有则不修改Value;没有添加
print(dic1)
#删:pop
dic1.pop('age') #Key值,有返回值Value。
dic1.pop('学习','没有此键') #如果没有Key,有报错。 可设置返回值 一般用None。
dic1.popitem() #python 3.5前随机删除,3.6后是最后一个。有返回值元组,key:value
print(dic1)
dic1.clear() #清空字典
#del dic1['name'] #没有返回值
del dic1 #删除字典
#改 update
dic1['age'] = 16
dic = {'name':'jin','age':18,'sec':'male'}
dic2 = {'name':'alex','weight':75}
dic2.update(dic) #增加覆盖更新
print(dic)
print(dic2)
#查
print(dic1.keys(),type(dic1.keys()))
print(dic1.values())
print(dic1.items())
print(dic1['name']) #按Key 查vuale ,没有Key 会报错
print(dic1.get('name','没有这个Key')) #按Key 查vuale ,没有Key 有返回值,默认None,可以自定义
for i in dic1:
print(i)
for i in dic1.keys():
print(i)
for i in dic1.values():
print(i)
a,b = 1,2
print(a,b)
for k,v in dic1.items():
print(k,v)