字典的学习2→循环和嵌套

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值