博客
关于我
(Python学习笔记):字典
阅读量:337 次
发布时间:2019-03-04

本文共 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}')

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

    转载地址:http://tbyr.baihongyu.com/

    你可能感兴趣的文章
    腾讯物联网操作系统正式开源,最小体积仅1.8 KB
    查看>>
    不懂数据库的码农不是好程序员!
    查看>>
    全球首个!阿里云开源批流一体机器学习平台Alink……
    查看>>
    红点中国、红杉中国联合领投,WakeData惟客数据完成1000万美元B轮融资
    查看>>
    OpenStack发布Ussuri版本 实现智能开源基础设施的自动化
    查看>>
    整理了一份 Docker系统知识,从安装到熟练操作看这篇就够了 | 原力计划
    查看>>
    2020 AI 产业图谱启动,勾勒中国 AI 技术与行业生态
    查看>>
    “编程能力差,90%输在了数学上!”CTO:多数程序员都是瞎努力!
    查看>>
    我是程序员,我用这种方式铭记历史
    查看>>
    F5打造“感知可控,随需而变的应用” 助力企业实现非凡数字体验
    查看>>
    CSDN湘苗培优|保持热情,告别平庸
    查看>>
    Serverless 在大规模数据处理中的实践
    查看>>
    运营商的互联网蜕变,从沃云平台开始
    查看>>
    Docker精华问答 | task与executor有什么关系?
    查看>>
    英特尔强势上新一大波数据产品,小伙伴们“奔走相告”…… | 极客头条
    查看>>
    SaaS前世今生:老树开新花
    查看>>
    微信小程序生命周期 / 页面的生命周期 / 页面的用户行为
    查看>>
    Maven的配置
    查看>>
    如何在bilibili上下载学习视频?
    查看>>
    09-Vue之本地应用v-for指令
    查看>>