使用键去值对存储,极快的查询速度
一访问字典
1.随意
stu={'name':"fei","age":12,"height":170,"name":"a"}
print(stu["name"]) #取出的值为 a 因为键重复,后面的会覆盖前面的
也可以用数字作为键,不一定用字符串
2.用列表作为值
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
print(stu["list"])
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
print(stu["aa"],"erro") #如果字典中没有这个键,则返回默认值 erro
3.用get()访问
#存储学生信息
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
print(stu.get("height"))
如果访问不存在键 则返回None
如果用 stu[]访问字典中不存在的键,则会报错
二 修改
#存储学生信息
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
stu[1]="杨"
print(stu)
三 增
#存储学生信息
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
stu[9]="杨"
print(stu)
四 查
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
print("list" in stu)#判断键是否在字典中存在,不是判断值
#存储学生信息
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
print(stu[1])
五 删
#存储学生信息
stu={1:"fei",2:12,"height":170,"list":[1,2,3,]}
del stu#删除字典
del stu[1] #删除键为一1的 #能够立刻回收资源
六 迭代
a={"name":"fei","age":10}
#一
for k,v in a.items(): #返回一个键值对
print((k,v))
#二
for k in a.keys(): #返回字典中所有的key
print(k,a[k])
#三
for k in a: #如果不用函数则返回所有的键
print(k)
#四
for k,v in zip(a.keys(),a.values()):
print(k,v)
#五
for k in a:
for v in a.values():
if(a[k]==v):
print(a[k])
七 字典中的常见函数
1.len
n={1:2,"a":"fei"}
print(len(n)) #len()函数算一个内置函数
2.items()函数 #返回键值对 以元祖的形式
n={1:2,"a":"fei"}
for i in n.items():
print(i)
print("*"*30)
for i in n.items():
print("key=%s;value=%s"%i) #只用传递i 就行了 因为items以元祖的形式返回的,(key,value)
结果
(1, 2)
('a', 'fei')
******************************
key=1;value=2
key=a;value=fei
3.判断键是否在字典中
n={1:2,"a":"fei"}
#判断键是否在字典中
if 1 in n:
print("1键在字典中")
else:
print("不在字典中")
注意:1.所有的键不允许重复的,如果重复了,会覆盖前面的元素