2.25字典

字典

一:字典使用

在这里插入图片描述

# 定义字典
dic={}
dic1={'color':'green','points':5}

1.访问字典中的值

## 根据键获取 -- dic1[键]
print(dic1['color'])
green

2. 添加键值对

# 根据键添加  -dic[需添加的键值对的键]=值
dic1["xixi"]=1
dic1["gofy"]=2
print(dic1)
{'color': 'green', 'points': 5, 'xixi': 1, 'gofy': 2}

3.修改字典中的值

# 根据键修改  -dic[需修改的键值对的键]=修改后的值
dic1["xixi"]="good"
print(dic1)
{'color': 'green', 'points': 5, 'xixi': 'good', 'gofy': 2}

4.删除键值对 – del语句永久删除(同列表)

del dic1["gofy"]
print(dic1)
{'color': 'green', 'points': 5, 'xixi': 'good'}

5.使用get()来访问值

在这里插入图片描述

value=dic1.get('xixi')
print(value)
good
value=dic1.get('haha')
print(value)
# 还可以通过设置参数,输出指定信息
value=dic1.get('haha','此键值对不存在')
print(value)
None
此键值对不存在
# 用字典[键]的形式获取对应键的值会报错
dic1['hahh']  
---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

Cell In[14], line 1
----> 1 dic1['hahh']


KeyError: 'hahh'

二:字典的统计、合并、清空操作

1.统计键值对数量 – len()函数

print(len(dic1))
print(dic1)
3
{'color': 'green', 'points': 5, 'xixi': 'good'}

2.合并字典 – update()方法

dic2={"gofy":1}
dic1.update(dic2)
print(dic1)
{'color': 'green', 'points': 5, 'xixi': 'good', 'gofy': 1}
dic2['xiha']=2  # copy了一下原来字典里的键值对
print(dic1)
{'color': 'green', 'points': 5, 'xixi': 'good', 'gofy': 1}

3.清空字典 – clear()方法

dic2.clear()
print(dic2)
{}

三:字典的遍历

1.遍历所有的键值对 – items()方法

for key,value in dic1.items():
    print(f"key为{key}",end=" ")
    print(f'value为{value}')
key为color value为green
key为points value为5
key为xixi value为good
key为gofy value为1

2.遍历所有的键 – keys()方法

for k in dic1.keys():
    print(f"key为{key}")
key为gofy
key为gofy
key为gofy
key为gofy
for k in dic1.keys():
    print(f"key为{k}")
key为color
key为points
key为xixi
key为gofy

3.遍历所有的值 – values()方法

for v in dic1.values():
    print(f"value为{v}")
value为green
value为5
value为good
value为1

4.按特定的顺序遍历字典中的所有键 – sorted()方法

在这里插入图片描述

# sort()函数 永久排序  --  sorted()方法临时排序
for k in sorted(dic1.keys()):   
    print(f"key为{k}")
key为color
key为gofy
key为points
key为xixi

四:嵌套–字典和列表的组合应用

应用场景
在这里插入图片描述

1.字典列表

在这里插入图片描述

2.在字典中存储列表 - 一个键关联到多个值

每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表
在这里插入图片描述

3.在字典中存储字典

在这里插入图片描述

4.练习

xixi={"name":'xixi','gender':'f','old':18}
gofy={"name":'gofy','gender':'m','old':18}
haha={"name":'haha','gender':'f','old':18}
list=[xixi,gofy,haha]
for user in list:
    print(user)
{'name': 'xixi', 'gender': 'f', 'old': 18}
{'name': 'gofy', 'gender': 'm', 'old': 18}
{'name': 'haha', 'gender': 'f', 'old': 18}
favorite_places={'xixi':['xian','guangzhou','shanghai'],'gofy':['xian','guangzhou']}
for k in favorite_places.keys():
    for v in favorite_places.get(k):
        print(f'{k}喜欢{v}',end=' ')
    print()
for k,v in favorite_places.items():
    print(f'{k}喜欢{v}',end=' ')
    print()
xixi喜欢xian xixi喜欢guangzhou xixi喜欢shanghai 
gofy喜欢xian gofy喜欢guangzhou 
xixi喜欢['xian', 'guangzhou', 'shanghai'] 
gofy喜欢['xian', 'guangzhou'] 

在这里插入图片描述

#xian={'xian':{'country':'china','population ':'1000mil','fact':1}}
#guangzhou={'guangzhou':{'country':'china','population ':'1500mil','fact':2}}
cities={'xian':
        {'country':'china','population':'1000mil','fact':'a'},
        'guangzhou':
        {'country':'china','population':'1500mil','fact':'b'}}
print(cities)
# for k in cities.keys():
#     for kk in cities.get(k).keys():
#         for v in  cities.get(k).get(kk):
#             print(f'{k}市的{kk}为{v}',end=' ')
#         print()

for city , value in cities.items():
    country=value.get('country')
    population=value.get('population')
    fact=value.get('fact')
    print(f'{city}市的contry为{country},population为{population},fact为{fact}')
{'xian': {'country': 'china', 'population': '1000mil', 'fact': 'a'}, 'guangzhou': {'country': 'china', 'population': '1500mil', 'fact': 'b'}}
xian市的contry为china,population为1000mil,fact为a
guangzhou市的contry为china,population为1500mil,fact为b

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值