Python里字典的基本用法(包括嵌套字典)

yizhihongxing

现在我将为你详细讲解Python中字典的基本用法,包括嵌套字典,以下是详细攻略。

字典的基本用法

字典(dictionary)是 python3 中的一个重要数据类型,在字典中,每个数据都是由一个键和对应的值所组成的键值对。

创建字典

我们可以使用一对大括号来创建一个空字典,也可以在大括号中使用键值对的形式来创建字典。

# 创建空字典
dict1 = {}

# 创建包含键值对的字典
dict2 = {'苹果': 3, '香蕉': 2, '梨': 4}

访问字典中的值

字典的值可以通过其对应的键进行访问,若键存在,则返回对应的值;若不存在,则会引发 KeyError 错误。

# 访问字典中的值
print(dict2['苹果'])
# 输出:3

添加或修改字典中的键值对

若我们需要向字典中加入新的键值对,只需为其指定一个新的键及其对应的值即可;若该键已经存在,那么就会修改该键原有的值。

# 向字典中加入新键值对
dict2['桃子'] = 6
# 修改字典中已有的键值对
dict2['苹果'] = 4

删除字典中的键值对

通过 del 语句可以删除字典中的键值对。

# 删除字典中的键值对
del dict2['香蕉']

遍历字典

我们可以通过 items() 方法返回一个包含所有键值对的元组列表,进而遍历字典。

# 遍历字典
for key, value in dict2.items():
    print(key, value)

嵌套字典

字典中可以包含其他的数据类型,甚至是嵌套的字典,从而可以构造出非常复杂的数据结构。

创建嵌套字典

通过嵌套字典的方式,可以在一个字典中存储多个字典。

# 创建嵌套字典
dict3 = {'Fruits': {'苹果': 3, '香蕉': 2, '梨': 4}, 'Vegetables': {'西红柿': 6, '辣椒': 8, '黄瓜': 5}}

访问嵌套字典中的值

通过在外层及内层字典中进行键值访问,可以获取嵌套字典中指定键的值。

# 访问嵌套字典中的值
print(dict3['Fruits']['梨'])
# 输出:4

添加或修改嵌套字典中的键值对

我们可以在嵌套字典中添加新的键值对,也可以修改其原有的键值对。

# 向嵌套字典中加入新键值对
dict3['Fruits']['桃子'] = 6
# 修改嵌套字典中已有的键值对
dict3['Fruits']['苹果'] = 4

删除嵌套字典中的键值对

通过 del 语句可以删除嵌套字典中的键值对。

# 删除嵌套字典中的键值对
del dict3['Vegetables']['黄瓜']

遍历嵌套字典

通过嵌套循环遍历嵌套字典中的元素,可以获取每一个键值对。

# 遍历嵌套字典
for key1, value1 in dict3.items():
    print(key1)
    for key2, value2 in value1.items():
        print(key2, value2)

以上就是关于Python字典的基本用法以及嵌套字典的完整攻略。让我们通过示例进一步了解字典的应用。

示例1:

我们可以使用字典中的嵌套数据类型,构造出一个用于存储学生成绩的数据结构。

# 定义嵌套字典
grades = {'Jack': {'Math': 85, 'English': 75, 'Physics': 90},
          'Lucy': {'Math': 90, 'English': 80, 'Physics': 95},
          'Tom':  {'Math': 75, 'English': 65, 'Physics': 80}}

# 计算平均分
for name, score in grades.items():
    avg_score = sum(score.values())/len(score.values())
    print(name, '的平均分是:', avg_score)

示例2:

对于拥有多个嵌套层级的数据,我们可以使用嵌套字典来便捷地存储和访问它们。

# 定义嵌套字典
company = {'Finance': {'Tom': {'Salary': 8500, 'Bonus': 1500},
                       'Joe': {'Salary': 9000, 'Bonus': 2000},
                       'Jenny': {'Salary': 7500, 'Bonus': 1000}},
           'HR': {'Bill': {'Salary': 8000, 'Bonus': 1200},
                  'Emily': {'Salary': 8200, 'Bonus': 1300},
                  'David': {'Salary': 7800, 'Bonus': 1100}}}

# 访问嵌套字典中的值
print(company['Finance']['Joe']['Bonus'])
# 输出:2000

希望以上内容对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python里字典的基本用法(包括嵌套字典) - Python技术站

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

相关文章

  • Python中list循环遍历删除数据的正确方法

    以下是详细讲解“Python中List循环遍历删除数据的正确方法”的完整攻略。 在Python中,循环遍历List并删除其中的数据是一个常见的需求。但是,如果不注意方法,可能会导致历不完整或者删除错误的数据。本文将介绍两种正确的方法,并提供两个示例说明。 方法一:使用倒序循环 可以使用倒序循环的方法遍历List并删除其中的数据。例如: lst = [1, 2…

    python 2023年5月13日
    00
  • Python编写淘宝秒杀脚本

    这里给你提供一份Python编写淘宝秒杀脚本的攻略,具体步骤如下: 1. 确定所需库和工具 为了编写淘宝秒杀脚本,我们需要安装以下库和工具: requests:用于发送 HTTP 请求,并获取返回的数据 BeautifulSoup:用于解析 HTML 网页内容,可以方便地获取需要的信息 lxml:作为 BeautifulSoup 的解析器,解析速度更快 Ch…

    python 2023年5月18日
    00
  • python三种数据结构及13种创建方法总结

    “Python三种数据结构及13种创建方法总结”,主要介绍Python中的三种基本数据结构以及在Python中创建这三种数据结构的13种方法。 一、Python中三种基本数据结构 在Python中,有三种基本数据结构: 列表(List) 字典(Dict) 元组(Tuple) 下面分述这三种数据结构以及如何在Python中创建它们。 二、Python中创建列表…

    python 2023年5月14日
    00
  • python调用ffmpeg命令行工具便捷操作视频示例实现过程

    下面我将详细介绍一下“Python调用FFmpeg命令行工具便捷操作视频”的实现过程。 1. 安装FFmpeg 首先需要安装FFmpeg,它是一个开源的视频处理工具,我们可以通过命令行对视频进行剪切、处理、转码等操作。在Linux系统中,可以通过以下命令进行安装: sudo apt-get install ffmpeg 在Windows系统中,可以到FFmp…

    python 2023年6月3日
    00
  • Python Django路径配置实现过程解析

    下面是详细的攻略: Python Django路径配置实现过程解析 在Python Django中,路径配置是非常重要的一部分,它决定了Django应用程序的访问路径。本文将对Python Django路径配置的实现过程进行解析,并提供两个示例说明。 Django路径配置实现过程 在Django中,路径配置是通过urls.py文件实现的。urls.py文件包…

    python 2023年5月14日
    00
  • Python创建多线程的两种常用方法总结

    Python创建多线程有两种常用的方法:使用 threading 模块和继承 threading.Thread 类。下面我将为你详细讲解这两种方法。 利用 threading 模块创建多线程 利用 threading 模块可以创建多线程,具体操作如下: 导入 threading 模块。 import threading 创建线程。使用 Thread() 函数…

    python 2023年6月6日
    00
  • 浅谈python抛出异常、自定义异常, 传递异常

    浅谈Python抛出异常、自定义异常和传递异常 异常处理是编程中必不可少的部分,能够提高程序的健壮性和可读性。Python中的异常处理机制提供了非常方便和灵活的方法。 Python中抛出异常 抛出异常可以在代码运行过程中发现错误,主动终止程序的运行。 Python中内置了许多异常类型,比如 IndexError、KeyError 等等,还有 Exceptio…

    python 2023年5月13日
    00
  • 基于Python实现五子棋-(人机对战)

    基于 Python 实现五子棋 – (人机对战)攻略 项目简介 五子棋是一种两个人对弈的游戏。该游戏使用棋盘和棋子,在棋盘上逐步落子,目标是在棋盘上先形成一条连续的、由自己的棋子构成的直线而获胜。 这个项目是通过 Python 实现的基础版五子棋,玩家可以选择与 AI 进行人机对战。该游戏最终的目标是让玩家了解到如何运用 Python 语言进行基础游戏开发以…

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