python中dict使用方法详解

yizhihongxing

pythondict使用方法详解

Python中的字典(dict)是一种用于存储键值对的数据结构,这种数据结构基于哈希表实现,提供了快速的查找、插入和删除操作。本文将介绍Python中字典的基本用法和高级用法,帮助您更好地理解和应用字典数据结构。

字典的基本用法

创建字典

在Python中,可以使用花括号({})创建一个空字典,也可以使用dict()构造函数创建一个空字典。同时也可以在创建字典时将键值对一起传递进去,如下所示:

# 创建空字典
empty_dict = {}
# 使用dict()构造函数创建空字典
empty_dict = dict()

# 创建包含键值对的字典
person = {"name": "张三", "age": 18, "gender": "male"}
# 使用dict()构造函数创建包含键值对的字典
person = dict(name="张三", age=18, gender="male")

获取字典中的值

通过下标操作可以获取字典中的值,下标使用键名,如果键名不存在则会抛出KeyError异常。可以使用get()方法获取字典中的值,如果键名不存在,则返回None或者指定的默认值。示例代码如下:

person = {"name": "张三", "age": 18, "gender": "male"}

# 通过下标获取字典中的值
name = person["name"]
# 使用get()方法获取字典中的值
age = person.get("age")

# 获取不存在的键,会抛出KeyError异常
phone = person["phone"]
# 使用get()方法获取不存在的键,返回None
phone = person.get("phone")
# 使用get()方法获取不存在的键,返回指定的默认值
phone = person.get("phone", "未知")

设置字典中的值

通过下标操作可以向字典中添加元素或更新已有元素,示例代码如下:

person = {"name": "张三", "age": 18, "gender": "male"}

# 添加新元素
person["phone"] = "18912345678"
# 修改已有元素
person["age"] = 20

删除字典中的值

通过下标操作可以删除字典中的元素,如果元素不存在则抛出KeyError异常,示例代码如下:

person = {"name": "张三", "age": 18, "gender": "male"}

# 删除元素
del person["age"]

字典的高级用法

遍历字典

可以使用for循环遍历字典中的所有键值对,示例代码如下:

person = {"name": "张三", "age": 18, "gender": "male"}

for key in person:
    value = person[key]
    print(key, value)

也可以使用items()方法直接遍历键值对,示例代码如下:

person = {"name": "张三", "age": 18, "gender": "male"}

for key, value in person.items():
    print(key, value)

字典推导式

Python中的字典推导式可以方便地创建字典。如下所示:

# 创建包含1到5的平方的字典
squares = {x: x**2 for x in range(1, 6)}

使用setdefault()方法设置默认值

setdefault()方法可以设置默认值,并返回对应的值,示例代码如下:

person = {"name": "张三", "age": 18, "gender": "male"}

# 设置默认值并返回对应的值
phone = person.setdefault("phone", "未知")

示例说明

示例一

# 创建包含姓名和成绩的字典,计算平均成绩
scores = {"张三": 90, "李四": 80, "王五": 85}
total_score = 0
for score in scores.values():
    total_score += score
average_score = total_score / len(scores)
print("平均成绩为:", average_score)

以上代码中,我们创建了包含姓名和成绩的字典,通过遍历values()方法计算出所有成绩的总分,并计算出平均成绩。

示例二

# 将文件内容转换为字典,统计每个单词出现的次数
with open("text.txt") as f:
    text = f.read()
words = text.split()
word_count = {}
for word in words:
    word_count[word] = word_count.get(word, 0) + 1
print(word_count)

以上代码中,我们打开一个文本文件,读取文件内容,并将内容按照空格分割为单词列表。然后,我们创建了一个字典,用于存储单词出现的次数。遍历单词列表,通过get()方法获取对应单词的出现次数,如果该单词不存在,则默认出现次数为0。最后,输出统计结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中dict使用方法详解 - Python技术站

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

相关文章

  • python为什么会环境变量设置不成功

    Python环境变量设置不成功可能是由于以下几种情况: 没有正确安装Python 没有将Python添加到系统环境变量中 系统环境变量中已经添加了其他Python版本的路径,导致新安装的Python无法正常识别 下面我们分别讲解这三种情况的解决方法。 1. 安装Python 首先需要确保正确安装了Python。我们可以从官网下载最新的Python版本,安装时…

    python 2023年6月3日
    00
  • python 实现多进程日志轮转ConcurrentLogHandler

    下面提供一个完整攻略实现 Python 多进程日志轮转 ConcurrentLogHandler。 1. 前言 Python 3 自带有 logging 模块,方便我们快速实现日志记录功能。如果在单进程环境中,使用 logging.handlers.TimedRotatingFileHandler 类就可以实现日志轮转。但是在多进程环境下,这个类有些局限性,…

    python 2023年5月19日
    00
  • python selenium实现智联招聘数据爬取

    Python Selenium实现智联招聘数据爬取 智联招聘是国内最大的招聘网站之一,提供了大量的招聘信息。本文将介绍如何使用Python和Selenium实现智联招聘数据爬取。 环境准备 在开始之前,需要安装以下软件: Python 3.x Chrome浏览器 ChromeDriver驱动 ChromeDriver驱动可以从官网下载。下载后,将Chrome…

    python 2023年5月15日
    00
  • 使用Python制作一个极简四则运算解释器

    在这里我会详细阐述如何使用Python制作一个极简四则运算解释器,并且提供两个示例说明。 1. 了解四则运算解释器的基本原理 四则运算解释器是一个基于计算机语言(比如Python)编写的程序,用于将数学表达式转化为计算结果。该解释器包含以下三个基本部分: 词法分析器:将数学表达式转化为一个个token 语法分析器:将token转化为语法树(Abstract …

    python 2023年6月3日
    00
  • python操作微信自动发消息的实现(微信聊天机器人)

    准备工作 首先需要先安装itchat库,可以通过pip安装: pip install itchat 接着在微信中扫码登录,代码如下: import itchat itchat.auto_login(hotReload=True) # 运行代码后会出现一个二维码,扫描即可登录微信 实现自动回复功能 为了实现自动回复功能,需要在itchat库的基础上编写一个回调…

    python 2023年5月19日
    00
  • 详谈Python中列表list,元祖tuple和numpy中的array区别

    Python中的列表(list)、元组(tuple)和Numpy中的数组(array)都是常用的数据结构,但它们之间有很多区别。本文将详细讲解它们的区别。 列表(list) 列表是Python中最常用的数据结构之一,它是一个有序的可变序列。列表中的元素可以是不同类型的数据,包括数字、字符串、布尔值等。列表可以通过索引访问和修改元素,也可以使用切片操作获取子列…

    python 2023年5月13日
    00
  • python中如何使用正则表达式提取数据

    正则表达式是一种强大的文本处理工具,可以用于各种文本处理任务,如数据清洗、本分、信息提取等。在Python中,我们可以使用re模块来操作正则表达式。本攻略将详细讲解Python中如何使用正则表达式提取数据,包括正则表达式的基本语法、re模块的常用函数、以及两个示例说明。 正则表达式的基本语法 正则表达式是由普通字符和特殊字符组成的字符串,用于匹配文本中的模式…

    python 2023年5月14日
    00
  • python实现域名系统(DNS)正向查询的方法

    Python实现DNS正向查询攻略 在Python中进行DNS正向查询的方法分为以下几个步骤: 导入socket库:DNS查询需要使用到socket库,首先需要导入该库。 python import socket 构建查询请求:查询请求需要指定要查询的域名和查询类型。查询类型通常为A记录,其对应的数字为1。构建查询请求的方法如下: python def qu…

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