dict字典的增删改查
字典 ,映射型数据类型。dict1 = { 'key':'value'} 由一 一对应的键值对组成。
键(keys)必须是不可变数据类型组成,例如:int、str、bool、元祖
值(value) 任一数据类型
字典的增加
dict1['key']='value' #通过key直接进行复制增加 ,如果没有相同的键值对,则增加;如果有相同键,则覆盖。 若键值没有重复 dic1={'age':18,'name':'liu','sex':'male'} dic1['hobby']='basketball' print(dic1) 打印结果为{'age': 18, 'name': 'liu', 'sex': 'male', 'hobby': 'basketball'} 若键值有重复 dic1={'age':18,'name':'liu','sex':'male'} dic1['name']='haha' print(dic1) 打印结果为{'age': 18, 'name': 'haha', 'sex': 'male'}
2.dict1.setdefault('key','None') #如果没有相同的键值对,则增加;如果有相同键,则不做任何变化。
若键值没有重复 dic1={'age':18,'name':'liu','sex':'male'} dic1.setdefault('hobby','basketball') print(dic1)
打印结果为{'age': 18, 'name': 'liu', 'sex': 'male', 'hobby': 'basketball'}
若键值有重复 dic1={'age':18,'name':'liu','sex':'male'} dic1.setdefault('name','haha') print(dic1)
打印结果为{'age': 18, 'name': 'liu', 'sex': 'male'}
字典的删除
pop
dic1.pop('') 通过key,进行删减,有返回值
dic1={'age':18,'name':'liu','sex':'male'} dic1.pop('age') print(dic1)
打印结果为{'name': 'liu', 'sex': 'male'}
dic1.popitem 3.6版本后从后向前删除
dic1={'age':18,'name':'liu','sex':'male'} print(dic1.popitem())
del
按键删除 dic1={'age':18,'name':'liu','sex':'male'} del dic1['name'] print(dic1) 打印结果为{'age': 18, 'sex': 'male'}
删除字典 dic1={'age':18,'name':'liu','sex':'male'} del dic1 打印结果为空
clear
dic1={'age':18,'name':'liu','sex':'male'} print(dic1.clear()) 打印结果为None
字典的修改和拼接
1.当dict1['key']='value'中,key在dic1中,则可以实现修改功能。 2.s.update() 括号中只能加字典 # dic1={'age':18,'name':'liu','sex':'male'} # dic2={'weight':'70kg','name':'haha',} # dic1.update(dic2) #将dic2中的值与dic1值进行拼接,若有重复则显示括号内(dic2)被拼接值 # print(dic1) 打印结果为{'age': 18, 'name': 'haha', 'sex': 'male', 'weight': '70kg'}
字典的查找
dic1={'age':18,'name':'liu','sex':'male'} print(dic1.keys(),type(dic1.keys())) #查找键 结果为dict_keys(['age', 'name', 'sex']) 若循环打印 #for i in dic1: # print(i) 结果为 age name sex # print(dic1.values()) #查找值 结果为dict_values([18, 'liu', 'male']) 若循环打印 # print(dic1.values()) # for i in dic1.values(): # print(i) 结果为 18 liu male # print(dic1.items()) #查找键和值 结果为dict_items([('age', 18), ('name', 'liu'), ('sex', 'male')]) 若循环打印 # print(dic1.items()) # for( k,l) in dic1.items(): # k代表键(key)的循环,l代表值(value)得循环 # print(k,l) 结果为 age 18 name liu sex male
键的查找
dict.get(key, default=None) key -- 字典中要查找的键。 default -- 如果指定键的值不存在时,返回该默认值None。