0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python字典是什么

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-02-23 16:54 次阅读

python字典

字典(英文名 dict),它是由一系列的键值(key-value)对组合而成的数据结构。

字典中的每个键都与一个值相关联,其中

键,必须是可 hash 的值,如字符串,数值等

值,则可以是任意对象

1. 创建字典

创建一个字典有三种方法

第一种方法:先使用 dict() 创建空字典实例,再往实例中添加元素

>>> profile = dict(name="张三", age=18)
>>> profile
{'name': '张三', 'age': 18}

第二种方法:直接使用 {} 定义字典,并填充元素。

>>> profile = {"name": "张三", "age": 18}
>>> profile
{'name': '张三', 'age': 18}

第三种方法:使用 dict() 构造函数可以直接从键值对序列里创建字典。

>>> info = [('name', '张三'), ('age', 18)]
>>> dict(info)
{'name': '张三', 'age': 18}

第四种方法:使用字典推导式,这一种对于新手来说可能会比较难以理解,我会放在后面专门进行讲解,这里先作了解,新手可直接跳过。

>>> adict = {x: x**2 for x in (2, 4, 6)}
>>> adict
{2: 4, 4: 16, 6: 36}

2. 增删改查

增删改查:是 新增元素、删除元素、修改元素、查看元素的简写。

由于,内容比较简单,让我们直接看演示

查看元素

查看或者访问元素,直接使用 dict[key] 的方式就可以

>>> profile = {"name": "张三", "age": 18}
>>> profile["name"]
'张三'

但这种方法,在 key 不存在时会报 KeyValue 的异常

>>> profile = {"name": "张三", "age": 18}
>>> profile["gender"]
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'gender'

所以更好的查看获取值的方法是使用 get() 函数,当不存在 gender 的key时,默认返回 male

>>> profile = {"name": "张三", "age": 18}
>>> profile.get("gender", "male")
'male'

新增元素

新增元素,直接使用 dict[key] = value 就可以

>>> profile = dict()
>>> profile
{}
>>> profile["name"] = "张三"
>>> profile["age"] = 18
>>> profile
{'name': '张三','age': 18}

修改元素

修改元素,直接使用 dict[key] = new_value 就可以

>>> profile = {"name": "张三", "age": 18}
>>> profile["age"] = 28
>>> profile
{'name': '张三', 'age': 28}

删除元素

删除元素,有三种方法

第一种方法:使用 pop 函数

>>> profile = {"name": "张三", "age": 18}
>>> profile.pop("age")
18
>>> profile
{'name': '张三'}

第二种方法:使用 del 函数

>>> profile = {"name": "张三", "age": 18}
>>> del profile["age"]
>>> profile
{'name': '张三'}

3. 重要方法

判断key是否存在

在 Python 2 中的字典对象有一个 has_key 函数,可以用来判断一个 key 是否在该字典中

>>> profile = {"name": "张三", "age": 18}
>>> profile.has_key("name")
True
>>> profile.has_key("gender")
False

但是这个方法在 Python 3 中已经取消了,原因是有一种更简单直观的方法,那就是使用 innot in 来判断。

>>> profile = {"name": "张三", "age": 18}
>>> "name" in profile
True
>>> "gender" in profile
False

设置默认值

要给某个 key 设置默认值,最简单的方法

profile = {"name": "张三", "age": 18}

if "gender" not in profile:
    profile["gender"] = "male"

实际上有个更简单的方法

profile = {"name": "张三", "age": 18}
profile.setdefault("gender", "male")

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 字典
    +关注

    关注

    0

    文章

    13

    浏览量

    7726
  • python
    +关注

    关注

    56

    文章

    4811

    浏览量

    85102
收藏 人收藏

    评论

    相关推荐

    Python绘图Matplotlib快速参考手册

     PYTHON
    发表于 02-07 14:04 0次下载

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 465次阅读

    Python中dict支持多个key的方法

    ​ 在Python中,字典(dict)是一种非常强大的数据结构,它允许我们通过键(key)来存储和检索值(value)。有时候,我们可能想要根据多个键来检索或操作字典中的数据。虽然Python
    的头像 发表于 11-29 15:59 226次阅读

    使用Python进行图像处理

    下面是一个关于使用Python在几行代码中分析城市轮廓线的快速教程。
    的头像 发表于 11-07 10:14 294次阅读
    使用<b class='flag-5'>Python</b>进行图像处理

    如何利用python和API查询IP地址?

    Python中,直接查询IP地址的地理位置或详细信息(如所属国家、城市等)通常需要依赖外部API服务,因为Python标准库本身不提供直接查询IP地址地理位置的功能。以下是一个使用requests
    发表于 08-28 11:55

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 2495次阅读

    Python建模算法与应用

    Python作为一种功能强大、免费、开源且面向对象的编程语言,在科学计算、数学建模、数据分析等领域展现出了卓越的性能。其简洁的语法、对动态输入的支持以及解释性语言的本质,使得Python在多个平台
    的头像 发表于 07-24 10:41 683次阅读

    Python在AI中的应用实例

    Python在人工智能(AI)领域的应用极为广泛且深入,从基础的数据处理、模型训练到高级的应用部署,Python都扮演着至关重要的角色。以下将详细探讨Python在AI中的几个关键应用实例,包括机器学习、深度学习、自然语言处理、
    的头像 发表于 07-19 17:16 1489次阅读

    如何实现Python复制文件操作

    Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在这篇文章中,你将会看到一些用 Python 实现文件复制的特殊方法。下面我们开始学习这九种不同的方法来实现 Pyt
    的头像 发表于 07-18 14:53 493次阅读

    Python语言基础2

    电子发烧友网站提供《Python语言基础2.rar》资料免费下载
    发表于 07-17 17:23 1次下载

    opencv-python和opencv一样吗

    不一样。OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库,它提供了大量的图像和视频处理功能。OpenCV-Python
    的头像 发表于 07-16 10:38 1469次阅读

    python训练出的模型怎么调用

    Python中,训练出的模型可以通过多种方式进行调用。 1. 模型保存与加载 在Python中,训练好的模型需要被保存,以便在其他程序或会话中使用。以下是一些常用的模型保存和加载方法。 1.1
    的头像 发表于 07-11 10:15 2383次阅读

    用pycharm进行python爬虫的步骤

    以下是使用PyCharm进行Python爬虫的步骤: 安装PyCharm和Python 首先,您需要安装PyCharm和Python。PyCharm是一个流行的Python集成开发环境
    的头像 发表于 07-11 10:11 981次阅读

    Python自动化测试框架及其应用

    Pytest是一个非常成熟的全功能的Python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大。
    的头像 发表于 04-03 16:15 619次阅读
    <b class='flag-5'>Python</b>自动化测试框架及其应用

    基于Python的地图绘制教程

    本文将介绍通过Python绘制地形图的方法,所需第三方Python相关模块包括 rasterio、geopandas、cartopy 等,可通过 pip 等方式安装。
    的头像 发表于 02-26 09:53 1335次阅读
    基于<b class='flag-5'>Python</b>的地图绘制教程