#数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元组,bool int str 可哈希
可变数据类型:list,dict set 不可哈希
dict key 必须是不可变数据类型,可哈希,
value:任意数据类型。
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的
增
#增 dic1 = {'name': 'hao','age': 20, 'sex': 'male',} dic1['s'] = 506 #没有键值对,添加 print(dic1) dic1['age'] = 21 #如果有键,则值覆盖 print(dic1) dic1 = {'name': 'hao','age': 20, 'sex': 'male',} dic1.setdefault('high',178) # 有键值对,不做任何改变,没有才添加。 print(dic1) dic1.setdefault('age',19) print(dic1)
删
#删 dic1 = {'name': 'hao','age': 20, 'sex': 'male',} dic1.pop('age') # 有返回值,按键去删除 print(dic1) print(dic1.pop('s', '没有')) # 可设置返回值 dic1 = {'name': 'hao','age': 20, 'sex': 'male',} print(dic1) print(dic1.popitem()) # 随机删除 有返回值 元组里面是删除的键值。 del dic1['name1'] print(dic1) del dic1 print(dic1) dic1.clear() #清空字典
改 update
#改 update dic1 = {'name': 'hao','age': 20, 'sex': 'male',} dic1['age']=21 print(dic1) dic = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic2.update(dic) # print(dic) print(dic2)
查
# get dic1 = {'name': 'hao', 'age': 20, 'sex': 'male', } v1 = dic1['name'] print(v1) # v2 = dic1['name1'] # 报错 # # print(v2) dic1 = {'name': 'hao', 'age': 20, 'sex': 'male', } v3 = dic1.get('name1','没有这个键') print(v3)
#查 dic1 = {'name': 'hao','age': 20, 'sex': 'male',} print(dic1.keys(),type(dic1.keys())) print(dic1.values()) print(dic1.items()) for i in dic1.keys(): print(i) for i in dic1.values(): print(i) for i in dic1.items(): print(i) for k,v in dic1.items(): print(k,v)
a = 1 b = 2 a,b = b,a print(a,b) a,b = [1,2],[2,3] print(a,b) a,b = (1,2) print(a,b)