Python四大金刚之字典详解

Python四大金刚之字典详解

Python四大金刚之一:字典(Dictionary),可以将其看作是由键值对组成的集合,是 Python 内置的一种数据结构,用于存储无序、可变、有键、不重复的数据集合。在 Python3 中,字典的实现是基于哈希表的。该文章将详细讲解字典的基本操作及应用场景。

创建字典

创建字典的方式有多种,其中较为常见的方式如下:

直接创建

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}

构造函数创建

dict2 = dict(name='Tom', age=18, gender='male')

通过 zip 创建

keys = ['name', 'age', 'gender']
values = ['Tom', 18, 'male']
dict3 = dict(zip(keys, values))

访问字典

获取字典中的值

获取字典中的值,可以通过键(key)进行访问。如果字典中不存在该键,则会抛出 KeyError 的异常。

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(dict1['name']) # 输出 Tom
print(dict1['phone']) # 抛出 KeyError 饮食

获取字典中的键

获取字典中的键,可以使用 keys() 方法。

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(dict1.keys()) # 输出 ['name', 'age', 'gender']

获取字典中的值

获取字典中的值,可以使用 values() 方法。

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(dict1.values()) # 输出 ['Tom', 18, 'male']

更新字典

添加新的键值对

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
dict1['phone'] = '12345678900'
print(dict1) # 输出 {'name': 'Tom', 'age': 18, 'gender': 'male', 'phone': '12345678900'}

修改已有的键值对

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
dict1['name'] = 'Jerry'
print(dict1) # 输出 {'name': 'Jerry', 'age': 18, 'gender': 'male'}

删除字典

可以通过 del 关键字,删除字典中的指定键值对或整个字典。

删除指定键值对

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
del dict1['name']
print(dict1) # 输出 {'age': 18, 'gender': 'male'}

删除整个字典

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
del dict1
print(dict1) # 抛出 NameError 异常

示例1:访问字典中不存在的键

dict1 = {'name': 'Tom', 'age': 18, 'gender': 'male'}
print(dict1['phone']) # 抛出 KeyError

解释:

在访问字典中不存在的键时,Python 会抛出 KeyError 异常,因为字典中不存在该键。

示例2:使用字典统计一段英文文本中各字符出现次数

text = 'Python is an interpreted, high-level and general-purpose programming language.'
char_dict = {}

for char in text:
    if char.isalpha(): # 判断是否是字母
        if char.lower() in char_dict: # 如果该字母已经在字典中,则次数加 1
            char_dict[char.lower()] += 1
        else: # 否则,将该字母添加到字典中
            char_dict[char.lower()] = 1

print(char_dict)

解释:

该示例使用字典统计了一段英文文本中各字母出现的次数。首先遍历文本中的每一个字符,如果该字符是字母,则将其转换为小写字母,并判断该字母是否已经在字典中出现,如果出现过,则将其出现次数加 1,否则将其添加到字典中,并将出现次数初始化为 1。最终输出统计结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python四大金刚之字典详解 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Django 解决开发自定义抛出异常的问题

    要讲解Django解决开发自定义抛出异常的问题,需要从以下三个方面展开: 什么是Django异常处理系统 如何在Django中自定义抛出异常 如何在Django视图函数中捕获和处理异常 1. 什么是Django异常处理系统 Django的异常处理系统是一个大而强大的机制,用于处理应用程序中的各种异常。这个机制可以很方便地处理HTTP请求和响应的异常,它还可以…

    python 2023年5月13日
    00
  • Python 使用ConfigParser操作ini配置文件

    下面是关于Python使用ConfigParser操作ini配置文件的完整攻略。 什么是ini配置文件 在计算机中,ini文件是一种常见的文件格式,通常用于存储程序的配置信息。ini文件通常由多个节(section)构成,每个节分别包含一系列的键值对(key-value pairs)。 下面是一个ini配置文件的示例: [database] host = l…

    python 2023年6月3日
    00
  • Python探索之修改Python搜索路径

    Python探索之修改Python搜索路径 在Python中,搜索路径指的是Python解释器在导入模块时搜索模块的路径列表。Python解释器默认已经设置好了搜索路径,但是有时候我们需要修改搜索路径,比如添加自己的模块或者修改默认模块的搜索路径。 查看当前搜索路径 可以使用sys模块来查看当前的搜索路径,如下所示: import sys print(sys…

    python 2023年6月2日
    00
  • Python 判断文件或目录是否存在的实例代码

    当我们在编写 Python 程序时,经常需要判断文件或目录是否存在,以便进行相应的操作。Python 提供了 os 模块可以很方便的判断文件或目录是否存在。 1. 导入 os 模块 在 Python 中使用 os 模块需要先导入它,可以使用 import 语句导入 os 模块,代码如下: import os 2. 使用 os.path 模块判断文件或目录是否…

    python 2023年6月2日
    00
  • 如何在Python中更新MySQL数据库中的数据?

    以下是在Python中更新MySQL数据库中的数据的完整使用攻略。 使用MySQL数据库的前提条件 在使用Python连接MySQL数据库之前,确保已经安装了MySQL数据库,并已经创建使用数据库和表。同时,还需要安装Python的驱动程序,例如mysql-connector-python。 步骤1:导入模块 在Python中使用mysql.connecto…

    python 2023年5月12日
    00
  • Python爬虫框架Scrapy实战之批量抓取招聘信息

    Python爬虫框架Scrapy实战之批量抓取招聘信息 本文旨在详细讲解如何使用Python爬虫框架Scrapy来批量抓取招聘信息网站上的信息。整个流程可以分为如下几个步骤: 制定爬虫计划及定义Item 编写Spider 编写Item Pipeline 运行爬虫 1. 制定爬虫计划及定义Item 在开始编写Spider之前,我们需要先确定我们要抓取哪些信息。…

    python 2023年5月14日
    00
  • Python中turtle库的使用实例

    Python中的turtle库是一个入门级的绘图库,可以用来绘制各种形状和图案。下面将使用两个实例来详细讲解turtle库的使用方法,包括基本的绘图命令、图案重复绘制及文字输出等。 示例一:绘制正方形 在开始绘图之前,需要先导入turtle库,并创建一个画布以及一只画笔(turtle对象)。通过调用turtle库中的方法,实现画笔向前/后移动、绘制线条、变更…

    python 2023年5月31日
    00
  • Python代码中引用已经写好的模块、方法的两种方式

    下面是Python代码中引用已经写好的模块、方法的两种方式的详细攻略。 1. import语句 import语句是在Python中用来引入其他模块或包中的对象。可以使用import语句引入整个模块或指定模块中的某一个或多个对象。import语句可以出现在脚本的任意位置,但通常在脚本的开头。 引入整个模块 假设我们已经编写了一个模块foo.py,其中包含一个名…

    python 2023年6月2日
    00
合作推广
合作推广
分享本页
返回顶部