Python四大金刚之字典详解

yizhihongxing

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日

相关文章

  • Python任务自动化工具tox使用教程

    Python任务自动化工具tox使用教程 什么是tox tox是一个用于自动化测试、构建、打包Python项目的工具,它和pytest、nose、unittest等测试框架结合使用,可以更加方便的进行项目开发、测试和部署。tox使用tox.ini文件来进行配置,在tox.ini文件中可以定义需要测试的Python版本、依赖关系、测试命令等内容。 安装tox …

    python 2023年6月6日
    00
  • Python函数关键字参数详解

    在Python函数中,关键字参数是一种通过参数名称传递值的方法,而不是按照参数在函数定义中的顺序进行传递。使用关键字参数可以使代码更具可读性,并且可以方便地忽略函数定义中的一些参数。以下是Python函数关键字参数的用法: 定义函数时使用关键字参数 在定义函数时,可以使用关键字参数来指定函数参数的默认值。这样,在调用函数时,如果没有传递参数,则使用默认值。例…

    2023年2月20日
    00
  • 安装Python的web.py框架并从hello world开始编程

    安装Python的web.py框架并从helloworld开始编程的完整攻略如下: 步骤一:安装web.py框架 打开终端(Terminal),输入以下命令来安装web.py框架: $ pip install web.py 如果提示“pip命令不存在”,则需要先安装pip,在终端输入以下命令: $ sudo easy_install pip 如果安装成功,可…

    python 2023年5月14日
    00
  • Python流程控制 if else实现解析

    Python流程控制if-else实现解析 if-else是Python中常用的流程控制语句,可以根据条件执行不同的代码块。本文将详细介绍if-else语句的使用方法,并提供两个示例。 if-else语句的基本用法 if-else语句的基本用法如下: if condition: # 如果条件成立,执行这里的代码块 else: # 如果条件不成立,执行这里的代…

    python 2023年5月15日
    00
  • linux系统使用python监测网络接口获取网络的输入输出

    下面是关于“linux系统使用python监测网络接口获取网络的输入输出”的完整攻略: 一、需求介绍 在Linux系统中,我们可以使用Python来监测网络接口,以获取网络的输入输出情况。具体来说,我们需要使用Python的socket、psutil等模块来实现。具体过程如下: 使用socket模块创建一个套接字对象; 使用psutil模块获取本地网络接口信…

    python 2023年6月3日
    00
  • 浅谈Python中的继承

    浅谈Python中的继承 继承概述 继承是一种常见的面向对象编程(OOP)技术,它允许我们创建一个新的类,该类继承了另一个类的属性和方法。新类称为“子类”或“派生类”,而被继承的类称为“父类”或“基类”。 通过继承,子类可以重用父类现有的代码,并在此基础上进行扩展或修改,从而实现代码的复用和维护。 在Python中,继承是通过在子类定义时在类名后添加括号,将…

    python 2023年6月6日
    00
  • Python二分查找+字符串模板+textwrap模块,

    Python二分查找+字符串模板+textwrap模块 是一种常用的解决文本处理问题的方法。以下是该方法的详细解释和示例: Python二分查找: 在计算机科学中,二分查找(英语:binary search),也称折半查找(英语:half-interval search)、对数查找(英语:logarithmic search),是一种在有序数组中查找某一特定…

    python 2023年6月5日
    00
  • Python在for循环中更改list值的方法【推荐】

    以下是详细讲解“Python在for循环中更改list值的方法【推荐】”的完整攻略。 在Python中,可以在for循环中更改List的值。但是,需要注意一些,否则可能会导致意外的结果。本文将对这些问题进行详细讲解,并提供一些示例说明。 在for循中更改List的值 在循环中更改List的值时,需要注意以下点: 不要使用索引进行遍历,而是元素本身遍历。 不要…

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