Python入门教程(十五)Python的字典

下面是关于“Python入门教程(十五)Python的字典”的详细讲解:

什么是Python字典

Python字典是一种键值对存储的数据结构,通过键值对的方式来定位并取得对应的数据。在 Python 中,字典是用花括号 {} 包裹起来的数据集合,键值对之间用逗号 , 分隔。

字典的键可以是任意不可变的数据类型,如字符串、数字和元组等,同时字典中的键也必须是唯一的,而同一个字典中的值则可以重复。

以下是一个字典的示例:

person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}

在这个示例中,键 'name''age''gender' 分别对应着值 'Lucy'20'female'

字典的基本操作

获取字典中的数据

我们可以使用键来获取字典中的值,示例如下:

person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
print(person['name']) # 输出:Lucy
print(person['age']) # 输出:20
print(person['gender']) # 输出:female

另外,也可以通过 get() 方法来获取字典中的值,如果字典中不存在对应的键,则返回默认值(默认为 None):

person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
print(person.get('name')) # 输出:Lucy
print(person.get('height')) # 输出:None
print(person.get('address', 'Unkown')) # 输出:Unkown

修改字典中的数据

如果需要修改字典中的数据,只需要指定键并赋新值即可:

person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
person['age'] = 21 # 修改年龄为 21
print(person) # 输出:{'name': 'Lucy', 'age': 21, 'gender': 'female'}

添加新数据到字典

可以通过新增键值对的方式来向字典中添加新数据,示例如下:

person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
person['height'] = 165 # 添加身高
print(person) # 输出:{'name': 'Lucy', 'age': 20, 'gender': 'female', 'height': 165}

删除字典中的数据

使用 del 关键字可以删除字典中的键值对:

person = {'name': 'Lucy', 'age': 20, 'gender': 'female'}
del person['age']
print(person) # 输出:{'name': 'Lucy', 'gender': 'female'}

示例

下面是两个使用 Python 字典的示例:

1. 统计每个字符在字符串中出现的次数

# 定义一个字符串
string = "Python is a powerful programming language."

# 创建一个空字典,用于保存字符和其出现的次数
char_count = {}

# 遍历字符串中的每个字符
for c in string:
    # 判断字符是否已经在字典中出现过
    if c in char_count:
        # 如果出现过,次数加一
        char_count[c] += 1
    else:
        # 如果没有出现过,新创建一个键并赋值为 1
        char_count[c] = 1

# 输出每个字符出现的次数
for c, count in char_count.items():
    print(f"字符 {c} 出现了 {count} 次")

运行结果:

字符 P 出现了 1 次
字符 y 出现了 1 次
字符 t 出现了 2 次
字符 h 出现了 3 次
字符 o 出现了 4 次
字符 n 出现了 4 次
字符   出现了 5 次
字符 i 出现了 2 次
字符 s 出现了 2 次
字符 a 出现了 4 次
字符 p 出现了 2 次
字符 w 出现了 1 次
字符 e 出现了 3 次
字符 r 出现了 3 次
字符 f 出现了 1 次
字符 u 出现了 1 次
字符 l 出现了 1 次
字符 g 出现了 3 次
字符 . 出现了 1 次

2. 查找学生成绩

# 定义一个字典,保存具体的学生成绩
scores = {
    'Lucy': {'Math': 80, 'English': 90, 'Chinese': 85},
    'Tom': {'Math': 70, 'English': 80, 'Chinese': 75},
    'Lily': {'Math': 90, 'English': 75, 'Chinese': 95}
}

# 定义一个函数,用于查找学生成绩
def lookup(name, subject):
    if name in scores:
        if subject in scores[name]:
            return scores[name][subject]
        else:
            return f"{name} 的 {subject} 成绩不存在"
    else:
        return f"不存在名叫 {name} 的学生"

# 分别查找 Lucy 和 Tom 的数学和英语成绩
print(lookup('Lucy', 'Math')) # 输出:80
print(lookup('Tom', 'English')) # 输出:80
print(lookup('Lucy', 'History')) # 输出:Lucy 的 History 成绩不存在
print(lookup('Jack', 'Math')) # 输出:不存在名叫 Jack 的学生

运行结果:

80
80
Lucy 的 History 成绩不存在
不存在名叫 Jack 的学生

以上就是 Python 字典的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python入门教程(十五)Python的字典 - Python技术站

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

相关文章

  • 批量获取及验证HTTP代理的Python脚本

    在本攻略中,我们将介绍如何使用Python批量获取及验证HTTP代理。以下是一个完整攻略,包括两个示例。 步骤1:获取代理列表 首先,需要获取代理列表。我们可以使用requests库来获取代理列表,并使用正则表达式来提取代理IP和端口号。 以下是示例代码,演示如何使用Python获取代理列表: import re import requests # 获取代理…

    python 2023年5月15日
    00
  • Flask中嵌套启动子线程的方法示例详解

    接下来将详细讲解 “Flask中嵌套启动子线程的方法示例详解”。这个话题可以分成以下几个部分进行讲解: 什么是Flask Python中如何启动子线程 Flask中启动子线程的示例说明 什么是Flask Flask是一个轻量级的Web应用框架。它基于Werkzeug WSGI工具包和Jinja2模板引擎。Flask作为微框架,其内核很简单,但是却可扩展性抵御…

    python 2023年5月13日
    00
  • python实现的Iou与Giou代码

    让我给您详细讲解一下如何实现Python的IoU与GIoU代码。 1. IoU 1.1 什么是IoU? IoU即Intersection over Union,也就是交并比。它是衡量两个边界框之间重叠程度的一种方法。IoU可用于计算检测模型的准确度。 1.2 IoU的计算方法 IoU的计算方法如下: IoU = Intersection(A,B) / Uni…

    python 2023年5月19日
    00
  • Python数据库封装实现代码示例解析

    Python数据库封装实现代码示例解析 在Python中操作数据库,我们可以使用第三方库或者原生的库实现,但是在实际开发过程中,我们经常会使用封装好的数据库操作库来简化操作。下面,我们将介绍如何封装数据库操作库,并给出实例说明。 数据库封装的好处 使用封装好的数据库操作库,可以简化开发者的操作,提高效率,减少重复的代码编写和出错的可能性。此外,通过合适的封装…

    python 2023年5月19日
    00
  • Python 编程速成(推荐)

    Python 编程速成攻略 简介 Python 编程速成是一个适合初学者入门的编程学习教程,旨在帮助您快速掌握 Python 编程基础和基本语法。 基础知识 在开始学习 Python 编程之前,您需要了解一些基础知识,包括: 计算机的基本概念和组成 编程语言的发展历史和分类 常见的编程工具和环境 安装Python 如果您还没有安装 Python,您可以通过以…

    python 2023年5月13日
    00
  • Python中三种时间格式转换的方法

    当涉及到时间处理时,经常需要进行时间格式转换。在Python中有三种时间格式:时间戳、字符串、元组。本文将分享三种时间格式之间的相互转换方法,方便开发者在实际工作中灵活应用。 一、时间戳与字符串的互相转换 1.将时间戳转换成字符串 下面是一个将时间戳转换成字符串的例子: import time timestamp = 1528797322 # 将时间戳转换成…

    python 2023年6月2日
    00
  • python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例

    以下是“Python爬虫开发之BeautifulSoup模块从安装到详细使用方法与实例”的完整攻略: 步骤1:安装BeautifulSoup模块 在使用BeautifulSoup模块之前,需要安装它。以下是一个示例: pip install beautifulsoup4 在这个例子中,我们使用pip命令安装了BeautifulSoup模块。 步骤2:导入模块…

    python 2023年5月14日
    00
  • python strip()函数 介绍

    当我们处理字符串时,通常会出现字符串前后空格的问题,这时候就可以使用 strip() 函数来移除字符串两端的空白字符,以便于后续的字符串处理操作。 strip() 函数的用法 strip() 函数的语法为:str.strip([chars]),其中 str 表示要处理的字符串,chars 参数可选,用于指定要移除的字符集合。 具体来说,strip() 函数将…

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