字典由大括号和键值对组成,特点为无序,键唯一
1.字典的创建
1 #直接创建字典 2 dic1={'name':a,'age':18} 3 #通过dict创建字典,输出都为{'name': 'a', 'age': 20} 4 dic2=dict((('name','a'),('age',20))) 5 print(dic2) 6 dic3=dict([['name','a'],['age',20]]) 7 print(dic3)
2.字典的增加与修改
1 dic1={'name':'a'} 2 dic1['age']=20 3 print(dic1) 4 #如果字典中存在age,那么将age的值修改为20,如果不存在,则添加'age':20 5 6 age=dic1.setdefault('age',18) 7 print(age) 8 #键存在,不改动,返回字典中相应的键对应的值,输出为20 9 10 hobby=dic1.setdefault('hobby','sport') 11 print(hobby) 12 #键不存在,在字典中中增加新的键值对,并返回相应的值,输出为sport
3.字典的查询,通过键去查找
1 dic3={'age': 20, 'name': 'a', 'hobby': 'sport} 2 3 print(dic3['name'])#输出a 4 print(dic3.get("name"))#输出a 5 print(dic3.get("sex","male"))#如果有sex键则返回对应的值,没有的话返回"male" 6 print(dic3.keys())#输出dict_keys(['age', 'name', 'hobby']),其他同理 7 print(list(dic3.keys()))#输出['age', 'name', 'hobby'] 8 print(list(dic3.values()))#输出[20, 'a', 'sport'] 9 print(list(dic3.items()))#输出[('age', 20), ('name', 'a'), ('hobby', 'sport')] 10 11 #更新字典 12 dic4={'age': 20, 'name': 'a', 'hobby':'sport'} 13 dic5={'1':'111','name':'222'} 14 dic4.update(dic5) 15 print(dic4)#输出{'age': 20, 'name': '222', 'hobby': 'sport', '1': '111'} 16 print(dic5)#输出{'1': '111', 'name': '222'}
4.字典的删除
1 dic5 = {'name': 'a', 'age': 20, 'hobby': sport} 2 3 dic5.clear() # 清空字典 4 5 del dic5['name'] #删除字典中指定键值对 6 7 print(dic5.pop('age')) #删除字典中指定键值对,并返回该键值对的值,应该输出20 8 9 a = dic5.popitem() #随机删除某组键值对,并以元组方式返回值 10 11 del dic5 #删除整个字典
5.其他创建字典的方法
1 dic6=dict.fromkeys(['host1','host2','host3'],'test') 2 print(dic6)#输出{'host3': 'test', 'host1': 'test', 'host2': 'test'} 3 4 dic6=dict.fromkeys(['host1','host2','host3'],['test1','tets2']) 5 print(dic6)#{'host2': ['test1', 'tets2'], 'host3': ['test1', 'tets2'], 'host1': ['test1', 'tets2']} 6 7 dic6['host2'][1]='test3' 8 print(dic6) 9 #{'host3': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host1': ['test1', 'test3']},这里不仅仅只改变了host2的值
6.可以利用for循环
1 dic5 = {'name': 'a', 'age': 20, 'hobby': 'sport'} 2 3 for i in dic5: 4 print(i,dic5[i]) 5 6 for i,v in dic5.items(): 7 print(i,v)