python note 05 字典及其操作
1、
'''
#数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元组,bool int str 可哈希
可变数据类型:list,dict set 不可哈希
dict key 必须是不可变数据类型,可哈希,
value:任意数据类型。
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的
2、增删改查操作
#增
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1['high'] = 185 #没有键值对,添加 print(dic1) #输出{'name': 'jin', 'high': 185, 'age': 18, 'sex': 'male'}
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1['age'] = 16 #如果有键,则值覆盖 print(dic1) #输出{'sex': 'male', 'name': 'jin', 'age': 16}
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1.setdefault('weight',150) #有键值对,不做任何改变,没有才添加。 print(dic1) #输出{'age': 18, 'sex': 'male', 'name': 'jin', 'weight': 150}
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1.setdefault('name','二哥') #有键值对,不做任何改变,没有才添加。 print(dic1) #输出{'sex': 'male', 'age': 18, 'name': 'jin'}
#删
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1 = dic1.pop('age') # 有返回值,按键去删除 print(dic1) #输出18
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1 = (dic1.pop('二哥',None)) # 可设置返回值 print(dic1) #输出None
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dir1 = (dic1.popitem()) # 随机删除 有返回值 元组里面是删除的键值。 print(dic1) #输出{'age': 18, 'name': 'jin'}
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} del dic1['name'] print(dic1) #输出{'sex': 'male', 'age': 18}
dic1.clear() #清空字典
#改
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} dic1['age'] = 16 print(dic1) #输出{'sex': 'male', 'age': 16, 'name': 'jin'}
dic = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic2.update(dic) print(dic) print(dic2) #输出{'name': 'jin', 'sex': 'male', 'age': 18} #{'name': 'jin', 'sex': 'male', 'age': 18, 'weight': 75}
#查
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} print(dic1.keys(),type(dic1.keys())) #输出dict_keys(['age', 'name', 'sex']) <class 'dict_keys'>
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} print(dic1.values()) #输出dict_values(['jin', 18, 'male'])
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} print(dic1.items()) #输出dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')])
3、其他功能
a = 1 b = 2 a,b = b,a print(a,b) #输出2 1