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

yizhihongxing

下面是关于“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日

相关文章

  • Python之ascii转中文的实现

    概述 在Python中,我们可以使用内置的 chr() 和 ord() 函数来进行字符和ASCII码之间的相互转换。但是,如果我们需要把一堆ASCII码转成相应的中文怎么办呢?接下来,让我们来逐步实现实现这个转换的过程。 获取ASCII码值 首先,我们需要获取每个中文字符的ASCII码值。Python中的 ord() 函数可以帮助我们实现。我们可以使用下面的…

    python 2023年5月31日
    00
  • 使用python实现定时报天气的示例代码

    Python实现定时报天气攻略 天气是我们日常生活中非常重要的信息之一,使用Python可以方便地获取天气信息,并实现定时报天气的功能。本攻略将介绍使用Python实现定时报天气的示例代码,包括数据获取、数据处理、定时任务和示例。 步骤1:获取数据 在Python中,我们可以使用requests库获取天气数据。以下是获取天气数据的示例: import req…

    python 2023年5月15日
    00
  • Python中函数的创建与调用你了解吗

    当创建一个函数时,你需要使用 Python的def语句来定义函数,在函数名后面跟有圆括号,然后跟有一个冒号,再在下一行写出执行了什么样的任务的代码块。 下面是一个简单的示例函数: def greet(name): print("Hello, " + name) 这个函数在被调用时,接受一个参数,输出问候语 “Hello ” 和这个参数的值…

    python 2023年5月30日
    00
  • Python实现LRU算法

    下面是关于“Python实现LRU算法”的完整攻略。 1. 什么是LRU算法 LRU(Least Recently Used)算法是一种常用的缓存淘汰算法,它的基本思是将最近最少使用的缓存块淘汰掉,以便为新的缓存块腾出空间。在Python中,我们可以使用字典双向链表来实现LRU算法。 2. Python实现LRU算法 下面是使用Python实现LRU算法的整…

    python 2023年5月13日
    00
  • python产生模拟数据faker库的使用详解

    Python产生模拟数据:Faker库的使用详解 什么是Faker库 Faker是一个Python库,它可以生成各种类型的数据,这些数据都是模拟的,可以用于测试、数据分析、测试环境下的数据填充等场景。 Faker库可以生成的数据类型包括但不限于: 姓名、地址、邮件地址、电话号码等个人信息数据 lorem、address、text等文本数据 时间、日期、年月日…

    python 2023年6月2日
    00
  • 计算两个多维NumPy数组的克朗克乘积

    计算两个多维NumPy数组的克朗克乘积(Kronecker Product)可以使用NumPy中的numpy.kron()函数。需要注意的是,两个数组的维数可以不一样,但是它们的维数的关系会直接影响克朗克乘积的结果。下面是详细的攻略: 1. 定义两个NumPy多维数组 首先,需要定义两个多维NumPy数组。由于本文要求计算它们的克朗克乘积,因此这两个数组必须…

    python-answer 2023年3月25日
    00
  • Python HTMLTestRunner测试报告view按钮失效解决方案

    现在我将为您详细讲解如何解决”Python HTMLTestRunner测试报告view按钮失效”的问题,并提供两条示例说明。 一、问题描述 在使用Python编写脚本进行自动化测试的过程中,我们通常会使用HTMLTestRunner生成测试报告,方便我们对测试结果进行分析和管理。但是,在使用Python HTMLTestRunner生成的测试报告中,有时会…

    python 2023年5月31日
    00
  • Python3处理HTTP请求的实例

    以下是关于“Python3处理HTTP请求的实例”的完整攻略: Python3处理HTTP请求的实例 在 Python3 中,我们可以使用 requests 库和 urllib 库来处理 HTTP 请求。以下是 Python3 处理 HTTP 请求的实例。 使用 requests 库 requests 是 Python 中常用的 HTTP 请求库,可以用于发…

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