python字典的增,删,改,查

字典---dict

1.字典是无序,可变的数据类型
2.字典:用于存储数据,存储大量数据,字典要比列表快,将数据和数据之间进行关联
定义一个字典:
dic = {"六月":99,"七月":"99"}
字典中逗号分隔叫做一个元素   "六月"(键):99(值) ------键值对
字典的键:
  • 可哈希的 -- 不可变的数据类型 -- 避免哈希冲突使用了 开放寻址法
  • 要求唯一 -- 如果有重复的后边值的将前面的值覆盖
字典的值:
  • 可以任意

增:

dic = {"六月":["飞","雪"],"七月":"99"}
dic["十月"] = "流火"   #暴力添加
print(dic)

dic.setdefault("五月","飞萤")
print(dic)
print(dic.setdefault("五月") )

删:

lat = {"六月":["飞","雪"],"七月":"99","八月":"炎阳"}

del lat["八月"] #通过字典的键删除键值对
print(lat)

print(lat.pop("七月")) #通过字典的键进行删除键值对
print(lat)

lat_1 = {"1":"123","4":"456","7":"789"}
lat.clear()
print(lat)

改:

lat = {"六月":["飞","雪"],"七月":"99","八月":"炎阳"}
lat["七月"] = "散场"   #有则改,无则加。
print(lat)            
#字典中没有某个键值对的时候就是添加,当键在字典中存在的时候就是修改
 
lat["十月"] = "国庆"
print(lat)     #添加

lat_1 = {"六月":"寒冬","七月":"冬去","三月":"春来"}
lat_1.update(lat)   #update括号中的字典级别高于前边的,(覆盖前边的)
print(lat_1)  
#输出 {'六月': ['飞', '雪'], '七月': '99', '三月': '春来', '八月': '炎阳'}

查:

lat = {"六月":"寒冬","七月":"冬去","三月":"春来"}
for i in lat:  #循环获取的是字典中每个键值对的键
    print(i)  #输出  六月 七月 三月
    
print(lat.get("六月"))
print(lat.get("一月"))  #通过键获取值,如果不存在,输出None

print(lat["六月"])
print(lat["一月"])   #通过键获取值,如果不存在,就会报错

其他操作:

lat = {"1":"123","4":"456","7":"789"}
for i in lat:
	print(i,lat.get(i))  #获取所有的键和值
    
lat = {"1":"123","4":"456","7":"789"}
print(lat.keys())  #高仿列表---dict_keys(['1','4','7'])支持for循环,不支持索引

for i in lat.keys():  #获取字典中所有的键
    print(i)
    
lat = {"1":"123","4":"456","7":"789"}
lat_1 = []
for i in lat:
    lat_1.append(lat[i])  #append添加
print(lat_1)
# 输出  ['123', '456', '789']

lat = {"1":"123","4":"456","7":"789"}
print(lat.values())
#输出  dict_values(['123', '456', '789'])


lat = {"1":"123","4":"456","7":"789"}
print(list(lat.values()))  #获取字典中所有的值
#输出  ['123', '456', '789']


print(lat.items())
# 输出dict_items([('1', '123'), ('4', '456'), ('7', '789')])

for i in lat.items():
    print(i[0],i[1])
输出:
1 123
4 456
7 789

posted @ 2019-07-19 22:35  Jerry!  阅读(8752)  评论(0编辑  收藏  举报