Python基本数据结构之字典类型dict用法分析

Python基本数据结构之字典类型dict用法分析

在Python中,字典类型(dict)是一种非常常见的数据类型。它可以存储键值对(key-value pairs),其中每个键(key)都是唯一的,对应的值(value)可以是任何数据类型。这里我们详细讲解字典类型(dict)的用法。

字典的创建

字典类型(dict)的创建非常简单,可以使用以下两种方式:

直接创建

字典可以通过花括号 { } 直接创建,并且键值对使用冒号分割,每个键值对之间使用逗号分割。

# 创建一个空字典
empty_dict = {}
# 创建一个非空字典
non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}

使用dict()函数

dict也可以通过dict()函数进行创建。

# 创建一个空字典
empty_dict = dict()
# 创建一个非空字典
non_empty_dict = dict(key1='value1', key2=2, key3=[1, 2, 3])

字典的访问

字典类型(dict)的访问方式非常简单,通过中括号 [ ] 访问指定的键(key)即可。

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 访问指定键(key)
value1 = non_empty_dict['key1']

如果访问的键(key)不存在,会抛出KeyError异常。

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 访问不存在的键(key)
non_empty_dict['key4'] # KeyError: 'key4'

为了避免抛出异常,可以使用get()方法访问指定的键(key)。

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 使用get()方法访问指定键(key)
value = non_empty_dict.get('key4')
# 如果不存在,则返回默认值
value_default = non_empty_dict.get('key4', 'default_value')

字典的添加和修改

字典类型(dict)的添加和修改操作非常类似,使用中括号 [ ] 访问指定的键(key)即可。

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 添加键(key),值(value)
non_empty_dict['key4'] = 'value4'
# 修改键(key)的值
non_empty_dict['key2'] = 'new_value'

字典的删除

字典类型(dict)可以使用del语句或者pop()方法来删除指定的键值对(key-value pair)。

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 使用del语句删除键值对(key-value pair)
del non_empty_dict['key1']
# 使用pop()方法删除键值对(key-value pair),同时获取其值
value2 = non_empty_dict.pop('key2')

字典的遍历

字典类型(dict)提供了通过键(key)遍历的方式和通过键值对(key-value pair)遍历的方式两种方法。

通过键(key)遍历

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 通过键遍历
for key in non_empty_dict:
    print(f'key: {key}, value: {non_empty_dict[key]}')

通过键值对(key-value pair)遍历

non_empty_dict = {'key1': 'value1', 'key2': 2, 'key3': [1, 2, 3]}
# 通过键值对遍历
for key, value in non_empty_dict.items():
    print(f'key: {key}, value: {value}')

示例

示例1

下面是一个通过字典统计单词频率的示例。

text = "I am a developer. I love coding. I love Python."
# 将文本转为小写,并且去除标点符号
words = text.lower().replace('.', '').split()
# 统计单词出现次数
word_freq = {}
for word in words:
    if word in word_freq:
        word_freq[word] += 1
    else:
        word_freq[word] = 1
# 输出结果
for key, value in word_freq.items():
    print(f'{key}\t{value}')

输出结果为:

i   2
am  1
a   1
developer   1
love    2
coding  1
python  1

示例2

下面是一个通过字典快速查找字符串的示例。在这个例子中,我们创建一个字典,其中键(key)是字符串的开头字符,值(value)是以这个字符开头的所有字符串列表。

words = [
    "apple",
    "banana",
    "cat",
    "dog",
    "elephant",
    "frog",
    "giraffe",
    "hotdog",
    "icecream",
    "jelly",
    "kiwi",
    "lemon",
    "mango",
    "noodle",
    "orange",
    "pepper",
    "queen",
    "rabbit",
]
# 创建字典
word_dict = {}
for word in words:
    first_char = word[0]
    if first_char in word_dict:
        word_dict[first_char].append(word)
    else:
        word_dict[first_char] = [word]
# 查找
key = 'a'
if key in word_dict:
    print(f"{key}: {word_dict[key]}")
else:
    print(f"{key} not found")

输出结果为:

a: ['apple']

以上就是本文对Python字典类型(dict)用法的完整攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python基本数据结构之字典类型dict用法分析 - Python技术站

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

相关文章

  • Python中用xlwt制作表格实例讲解

    以下是Python中用xlwt制作表格实例讲解的完整实例教程: 目录 xlwt模块简介 创建Excel文件 创建工作表 添加数据到工作表 保存Excel文件 完整实例演示 示例说明 1. xlwt模块简介 xlwt是Python中的第三方库,用于创建和操作.xls格式(Excel 97-2003)文件。 2. 创建Excel文件 首先需要导入xlwt模块,并…

    python 2023年5月13日
    00
  • 详解SpringBoot实现事件同步与异步监听

    下面详细讲解“详解SpringBoot实现事件同步与异步监听”的完整攻略。该攻略将包括以下内容: 什么是事件 Spring Framework中的事件 SpringBoot如何实现事件监听 同步事件和异步事件的区别与应用场景 SpringBoot实现同步事件监听的示例 SpringBoot实现异步事件监听的示例 什么是事件 在计算机科学中,事件是指系统或应用…

    python 2023年6月13日
    00
  • 在matplotlib的图中设置中文标签的方法

    下面是详细讲解“在matplotlib的图中设置中文标签的方法”的完整攻略: 1. 安装字体文件 matplotlib默认不支持中文显示,因此需要先安装中文字体。 一般来说,可以到中文字体下载站中下载适用于自己操作系统的字体文件(一般为ttf格式),然后将字体文件复制到matplotlib字体目录下。 在Windows系统下的matplotlib字体目录为C…

    python 2023年5月20日
    00
  • 学会python操作excel永不加班系列

    非常感谢你对“学会python操作excel永不加班系列”的关注。下面是对该攻略的详细讲解。 简介 本攻略旨在帮助大家讲解如何使用Python操作Excel,通过这一技能的掌握,你将彻底告别因为Excel操作而加班的烦恼,事半功倍。 准备 在正式开始学习操作Excel之前,我们首先需要准备一些必要的软件环境。 安装Python:推荐安装Python 3.x …

    python 2023年6月5日
    00
  • python3实现飞机大战

    Python3实现飞机大战攻略 前言 飞机大战是一款经典游戏,我们可以用Python3来实现一个简单的飞机大战游戏。 环境要求 Python3 Pygame 步骤 1. 导入Pygame库 首先,我们需要导入Pygame库,并初始化Pygame。 import pygame pygame.init() 2. 设置窗口 然后,我们需要设置游戏窗口。 # 设置窗…

    python 2023年5月14日
    00
  • Python完全新手教程

    Python完全新手教程 介绍 这是一份针对完全新手的Python教程。如果你没有任何编程经验,这份教程将从头开始教你Python编程语言的基础知识和技能。通过这份教程,你将学会Python语言的基础语法、常用数据类型、函数、流程控制语句、循环、异常处理等核心内容。 安装Python 在正式开始学习Python之前,你需要先安装Python。Python官方…

    python 2023年5月13日
    00
  • 如何以 Python 方式集成 pynba 和 Flask?

    【问题标题】:Howto pythonic way to integrate pynba and Flask?如何以 Python 方式集成 pynba 和 Flask? 【发布时间】:2023-04-03 05:37:01 【问题描述】: 之后点安装烧瓶点安装pynba 我试试下面的代码 进口烧瓶 导入pynba.wsgi FlaskWithPynba 类…

    Python开发 2023年4月8日
    00
  • Python+requests+unittest执行接口自动化测试详情

    下面是Python + requests + unittest执行接口自动化测试的详细实例教程。 环境准备 在进行接口自动化测试之前,我们需要确保以下环境已经准备好: Python 3.x版本 requests库 unittest模块 编写测试用例 首先,我们需要创建一个Python文件。我们将文件名设置为test_example.py。 导入必要的模块: …

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