1、字典循环:分别用获取key和value,还有同时获取key和value的操作
d ={
'奥特曼1' : '赛罗',
'奥特曼2' : '萝卜',
'奥特们3' : 'Zeta'
}
# 1.使用for循环获取key的值
for key in d:
print(key,d[key]) # 可以获取key的值,同时通过key找到value
# 2.找到所有的key
print(d.keys()) # 类型是:d.keys();返回:dict_keys(['奥特曼1', '奥特曼2', '奥特们3'])
# 返回的key可以变成列表
print(list(d.keys())) # 返回:['奥特曼1', '奥特曼2', '奥特们3']
# 3.找到字典所有的value
print(d.values()) # 返回:dict_values(['赛罗', '萝卜', 'Zeta'])
# 4.同时找到字典的所有key和value
for key,value in d.items():
print(key,value)
单独讲下第4个,为什么可以用for key ,value in d.items()这种方法获取key和value的值:解包
# 解释为什么能用for key,value in d.items()能同时获取key和value的原因
# 这个方法叫“拆包”为python独有
for item in d.items():
print(item)
# 这个时候返回的是元组:
'''
('奥特曼1', '赛罗')
('奥特曼2', '萝卜')
('奥特们3', 'Zeta')
'''
# 然后python有这个操作,叫:拆包或解包
a , b = (1,2)
print(a)
print(b)
# 所以当for key,value in d.items()的i返回元组时,我们也能用解包操作
2、字典的嵌套:可以无限嵌套
d ={
'奥特曼':"赛文奥特曼",
'age' : 20000,
'son':{
'name' : '赛罗',
'age' : 10000,
'frend' :{
'name': '捷德',
'age' : 20
}
}
}
# 嵌套字典的查找:找到捷德有几岁
print(d['son']['frend']['age']) # 输出:20
# 嵌套字典的修改:把捷德的年纪加100
d['son']['frend']['age'] = d['son']['frend']['age'] +100
print(d['son']['frend']['age'] ) # 输出:120
3、查找“键”或“值”是否在列表中,用“xx” in dic来排查
v1 = {"k1":123,"k2":123}
data = "k1" in v1 # 键中是否包含 "k1" -> 性能好/速度快
print(data) # True
v1 = {"k1":123,"k2":123}
data = "k1" in v1.keys() # 键中是否包含 "k1" -> 性能好/速度快
print(data) # True
v1 = {"k1":123,"k2":123}
data = "k1" in v1.values() # 值中是否包含 "k1"
print(data) # True