(Python学习笔记):字典
发布日期:2021-05-07 15:19:46 浏览次数:5 分类:精选文章

本文共 3060 字,大约阅读时间需要 10 分钟。

Python 字典入门指南

字典的应用场景

在编程中,数据的顺序经常会发生变化,但每个数据都有对应的下标来标识它们的位置。为了确保在数据顺序发生变化后,仍然能够使用相同的标准来查找数据,Python 提供了字典(Dictionary)这一数据结构。字典中的数据以键值对的形式存储,键和值的顺序与字典本身无关,这意味着字典不支持通过下标来访问数据。

创建字典的语法

字典的语法非常简单,只需要记住以下几点:

  • 字典使用大括号 {} 来表示
  • 键值对之间用逗号 , 分隔
  • 每个键值对的格式为 键:值
  • 如果你不需要任何键值对,可以创建一个空字典 {}
  • 使用 dict() 函数也可以创建一个空字典
  • 以下是创建字典的示例:

    # 创建有数据的字典dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}print(dict1)  # 输出: {'name': 'TOM', 'age': 20, 'gender': '男'}print(type(dict1))  # 输出: 
    # 创建空字典dict2 = {}print(type(dict2)) # 输出:
    dict3 = dict()print(type(dict3)) # 输出:

    字典的常见操作

    要增添或修改字典中的键值对,可以使用直接赋值的方式:

    dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}# 增加 id 字段的值dict1['id'] = 110print(dict1)  # 输出: {'name': 'TOM', 'age': 20, 'gender': '男', 'id': 110}# 修改名字dict1['name'] = 'ROSE'print(dict1)  # 输出: {'name': 'ROSE', 'age': 20, 'gender': '男', 'id': 110}

    要删除字典中的键值对,可以使用 del() 函数:

    dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}# 删除整个字典del(dict1)print(dict1)  # 输出: Traceback (most recent call last): del dict1 -> KeyError: 'name'# 删除指定的键值对dict2 = {'name': 'ROSE', 'age': 19, 'gender': '女'}del dict2['name']print(dict2)  # 输出: {'age': 19, 'gender': '女'}# 注意:如果尝试删除不存在的键,会报 KeyError# del dict2['names'] 会报 KeyError: 'names'

    如果你想清空字典,可以使用 clear() 方法:

    dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}dict1.clear()print(dict1)  # 输出: {}

    要修改字典中的某个键值对,可以直接赋值:

    dict1 = {'name': 'TOM', 'age': 20, 'gender': '男'}# 修改 name 的值dict1['name'] = 'ROSE'print(dict1)  # 输出: {'name': 'ROSE', 'age': 20, 'gender': '男'}

    要查找字典中的键值对,可以使用 get() 方法:

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}# 查找 name 对应的值print(dict1.get('name'))  # 输出: Tom# 查找不存在的 id 对应的值,默认返回 Noneprint(dict1.get('id'))  # 输出: None# 查找 id 对应的值,并指定默认值print(dict1.get('id', 110))  # 输出: 110

    如果你想列出字典中的所有键,可以使用 keys() 方法:

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}print(dict1.keys())  # 输出: dict_keys(['name', 'age', 'gender'])

    如果你想列出字典中的所有值,可以使用 values() 方法:

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}print(dict1.values())  # 输出: dict_values(['Tom', 20, '男'])

    如果你想列出字典中的所有键值对,可以使用 items() 方法:

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}print(dict1.items())  # 输出: dict_items([('name', 'Tom'), ('age', 20), ('gender', '男')])

    字典的循环遍历

    遍历键

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}for key in dict1.keys():    print(key)  # 输出: name, age, gender

    遍历值

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}for value in dict1.values():    print(value)  # 输出: Tom, 20, 男

    遍历键值对

    dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}for key, value in dict1.items():    print(f'{key} = {value}')  # 输出: name = Tom, age = 20, gender = 男

    总结

    通过以上内容,你已经掌握了Python 字典的基本使用方法,包括创建、增删改查以及遍历等操作。以下是几个常用的示例代码:

    # 创建字典dict1 = {'name': 'Python', 'age': 30}dict2 = {}dict3 = dict()# 增加或修改键值对dict1['id'] = 110dict1['name'] = 'Rose'# 删除键值对del(dict1['age'])dict2.clear()# 查找键值对print(dict1.get('name'))  # 输出: Roseprint(dict1.get('id', 500))  # 输出: 110# 遍历字典for key in dict1.keys():    print(key)for value in dict1.values():    print(value)for key, value in dict1.items():    print(f'{key} = {value}')

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

    上一篇:(C++11/14/17学习笔记):lambda表达式的使用
    下一篇:(Python学习笔记):集合

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年03月24日 22时15分04秒