重温Python基础——字典

哈喽小伙伴们,今天咱们来复习一下Python基础中的字典,看看还记得多少!

使用字典

python中,字典是一系列键值对。每个键都与一个值相关联,你可使用键值来访问相关联的值。与键相关联的值可以是数、字符串、列表、乃至字典。其实,可以将任何python对象用作字典的值。
python中字典放在花括号 { } 内的一系列键值对表示例如:

a = {"animal":"panda","plant":"rose","point":9}

 

访问字典中的值

获取与键关联的值,可以依次指定字典名或放在方括号内的值
例如提取出上述字典中的panda

a = {"animal":"panda","plant":"rose","point":9}
print(a["animal"])

 

运行结果

panda

 

添加键值对

字典是一种动态结构,可随时在其中添加键值对。如需添加键值对,可依次指定字典名、用方括号括起的键和相关键的值。
下列尝试在字典中添加country:China

a = {"animal":"panda","plant":"rose","point":9}
print(a)
a["country"] = "China"
print(a)

 

运行结果

{'animal': 'panda', 'plant': 'rose', 'point': 9}
{'animal': 'panda', 'plant': 'rose', 'point': 9, 'country': 'China'}

 

修改字典中的值

如果需要修改字典中的值,可以一次的指定字典名、用方括号括起的键,以及改键相关联的新值
例如我们更改上述程序的熊猫

a = {"animal":"panda","plant":"rose","point":9}
print(a)
a["animal"] = "little bear"
print(a)
# Python资料源码自取群  708525271

 

运行结果

{'animal': 'panda', 'plant': 'rose', 'point': 9}
{'animal': 'little bear', 'plant': 'rose', 'point': 9}

 

删除键值对

对于字典中不需要的信息,留之无用。可以使用del语句将相对应的键值进行删除。其中必须指定字典名和要删除的键。

例如删除字典a中的键"plant"及其值

a = {"animal":"panda","plant":"rose","point":9}
print(a)
del a["plant"]
print(a)

 

运行结果

{'animal': 'panda', 'plant': 'rose', 'point': 9}
{'animal': 'panda', 'point': 9}

 

使用get()来访问值

使用放在方括号内的键从字典中获取感兴趣的值时,有时会因为指定的键值不存在而引发错误。
例如你想在字典a中获取里面不存在的信息将会报错

a = {"animal":"panda","plant":"rose","point":9}
print(a["color"])

 

运行结果

Traceback (most recent call last):
  File "C:\Users\Desktop\python\03.py", line 77, in <module>
    print(a["color"])
KeyError: 'color'

 

对于字典而言,可使用方法get()在指定的键不存在时返回一个默认值,从而避免这样的错误。
例如:

a = {"animal":"panda","plant":"rose","point":9}
b=a.get("color","no color value assigend.")
print(b)

 

运行结果

no color value assigend.

 

如果键中有color,将打印与其相关的值,如果没有,将获得指定的默认值。这里随没有键“color”但可以获得一条消息,这里不会出错。

遍历字典

python中一个字典可以包含几个值,同样也可以包含数百万个键值对。字典可以以各种方式存储信息,因此有多种遍历方式。可以遍历字典的键值对,也可以只遍历键或值。
遍历所有键值对:
前面介绍过,我们可以逐一的访问任意一项,但如果字典所含有成百上千对键值对,怎么办?我们可以使用for循环来遍历这个字典:

a = {"animal":"panda","plant":"rose","point":9}
for key,value in a.items():
    print(f"\nkey:{key}")
    print(f"value:{value}")

 

运行结果

key:animal
value:panda

key:plant
value:rose

key:point
value:9

 

要编写需要遍历for循环中,可分别声明键和值两个变量,变量名可自定义。
遍历字典中的所有键
在不使用字典中的值时,方法keys()很有用。
我们对字典所包含的值感兴趣时方法value()返回一个值的列表不包含键。

a = {"animal":"panda","plant":"rose","point":9}
print(a)
print("\n键:")
for key in a.keys():
    print(key)
print("\n值:")
for value in a.values():
    print(value)

 

运行结果

键:
animal
plant
point

 



值:
panda
rose
9

 

其实使用方法与遍历字典有很大相似性

嵌套

有时候,需要将一系列字典的值存储在列表中,或者将列表作为值存储在字典中,这称为嵌套。

字典列表

比如说字典存放在着一个同学的信息,但是无法存放第二个同学的信息。如何管理这群同学的信息呢?一种方法就是创建一个同学的列表,其中每个同学都是一个字典。

zhangsan = {"heigh/cm":169,"weight/kg":55,"hobby":"read"}
lisi = {"heigh/cm":175,"weight/kg":65,"hobby":"game"}
wangwu = {"heigh/cm":163,"weight/kg":57,"hobby":"dance"}
students = [zhangsan,lisi,wangwu]
for student in students:
    print(student)
# Python资料源码自取群 708525271

 

运行结果

{'heigh/cm': 169, 'weight/kg': 55, 'hobby': 'read'}
{'heigh/cm': 175, 'weight/kg': 65, 'hobby': 'game'}
{'heigh/cm': 163, 'weight/kg': 57, 'hobby': 'dance'}

 

在字典中存储列表

有时候,需要将列表存于字典中。例如你如何描述顾客点的鸡排呢?如果使用列表,只能存储添加的鸡排信息。但如果使用字典,就不仅仅可在其中包含的配料列表。还可以包含其他对鸡排的所有描述。

jipai = {
    "辣度":["微辣","中辣","特辣"],
    "番茄酱":["需要","不需要"]
    }
print(jipai)
# Python资料源码自取群 708525271

 

运行结果

'辣度': ['微辣', '中辣', '特辣'], '番茄酱': ['需要', '不需要']}

 

每当字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。

在字典中存储字典

可在字典中嵌套字典,但这样做,代码很快复杂起来。如果有多个网站用户,每一个的用户名都不一样。可在字典中将用户名作为键,然后将每一个用户的信息的存储在一个字典里,并将这个字典作为该用户名键的值。

user = {
    "zhangsan":{
        "sex":"female","hobby":"python"
            },
    "追风少年":{
        "sex":"male","hobby":"computergames"
            },
    "孤独的夜":{
    "sex":"male","hobby":"music"

    }
}
for username,users in user.items():
    print(f"\nUsername:{username}")
    sex = users["sex"]
    hobby = users['hobby']
    print(f"\tsex:{sex}")
    print(f"\thobby:{hobby}")

 

运行结果

Username:zhangsan
    sex:female
    hobby:python

Username:追风少年
    sex:male
    hobby:computergames

Username:孤独的夜
    sex:male
    hobby:music

 

请注意,表示每一位用户的字典的有相同的结构。虽然在python中没有这么要求,但这样会是的嵌套在字典中使用起来更方便。如果键值都不相等,那么for循环在此用起来会十分的复杂!

最后

好了,今天的分享到这里差不多就结束了,最后给大家分享一套Python教程:

人生苦短,我用Python!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:重温Python基础——字典 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 只用20行代码,Python实现爬取网易云音乐,非常简单!

    哈喽,大家好,今天咱们试试只用20行代码来实现批量获取网抑云文件保存本地,炒鸡简单! 悄悄的告诉你,其实不到20行代码~     你需要准备 本次使用的环境是Python3.8,编辑器是pycharm  模块使用的是requests、re、os 三个,其中requests是第三方模块,需要手动安装一下,re、os都是内置模块,不需要安装。 pip insta…

    2023年4月2日
    00
  • 奶奶常说,黑白照片看的不清晰,还好我会Python,分分钟给她变成彩色的~

    咳咳~ 其实是奶奶常说,艾欧尼亚昂扬不灭,正义将指引着我们!   好吧,并不是奶奶说,只是最近回家发现一些黑白老照片,看着不够清晰,然后实验了一波用Python把老照片变成彩色的。 代码展示 import requests # Python学习交流资料源码获取群 279199867 r = requests.post( “https://api.deepai…

    2023年4月2日
    00
  • Python批量爬取美女写真集,只需27行代码,实现多页爬取!

    兄弟们,上一个系列大家多少有点不太喜欢,那今天上点不一样的。     来吧,直接整活~ 先准备一下 首先咱们需要安装一下这两个第三方模块 requests >>> # pip install requests parsel >>> # pip install parsel 不会安装的小伙伴,键盘按住win+r 在弹出来的运…

    2023年4月2日
    00
  • 只用13行Python代码,实现给抖音APP自动点赞,非常简单!

    哈喽兄弟们,今天我们来试试,如何只用13行代码,给抖音APP视频自动点赞! 前因后果 事情是这样的,昨晚表弟晚上一两点了,房间灯还亮着,原来是还在用手机刷某音视频,我抢过手机一看,好家伙,连刷十个都是美女,喜欢列表也全是MM。 我看他手动点赞手都点累了,干脆熬个夜,给他写一个自动点赞的代码,今晚他就点一晚上赞,别睡了直接通宵吧! 好了不多哔哔,我们直接上代码…

    Python开发 2023年3月31日
    00
  • Python实现人脸识别

    哈喽兄弟们,今天实现一下人脸识别。 先问大家一个问题什么是百度Aip模块? 百度AI平台提供了很多的API接口供开发者快速的调用运用在项目中本文写的是使用百度AI的在线接口SDK模块(baidu-aip)进行实现人脸识别 除了人脸识别,其他api功能的调用也同理。 准备工作 本机环境 系统:win11Python版本:3.9.7编辑器:VS2022 安装ba…

    Python开发 2023年4月2日
    00
  • 用Python批量爬取快手视频,实现自动关注/点赞/评论

    今天来点特别的~ 不仅把好看的视频全部pa下来,咱们还要实现自动评论、点赞、关注三连~ 宝,你也可以顺手给我个三连吗?给你个摸摸大~     抓包分析流程 我写成了文档,都在这个PDF里面了,但是好像不能上传,所以点一下大家自行下载吧!点我获取,提取密码 qwer 开始代码 获取视频的代码 import requests # 发送请求 第三方模块(第三方应用…

    2023年4月2日
    00
  • 程序员即将失业?ChatGPT正在取代各位!

    最近OpenAI的ChatGPT真的是到处都在刷屏,我想你已经看过很多关于ChatGPT的文章或者视频了,我就不过多介绍了。 不过你碰巧还不知道的话,可以先百度一下,然后再回来继续。 与ChatGPT对话很有趣,甚至很有启发性。有人用它聊天,有人用它写代码,太多省时省力的工作,都可以由它完成,我们的内容创作部门已经将ChatGPT用于文案生成。那么对研发,C…

    Python开发 2023年3月31日
    00
  • 用Python做了一个法律查询小工具,非常好用

    哈喽兄弟,今天给大家分享一个Python tkinter制作法律查询小工具。 光爬虫大家也只能自己用用,就算打包了exe,运行也不好看,那我们直接写成界面。 当我们想了解法律,但是又不想买书的时候,就可以用这个小工具,慢慢查询了解。 当然,如果想整的比较有意思,就得靠大家自己来完善实现了。 效果展示 我们来看看效果     写的比较简陋,大家不要太在意。 再…

    2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部