Python字典常用操作方法详解

拾光
拾光
发布时间:2026-10-15| 5人浏览过
原创

本文详细介绍Python中字典的核心操作方法,涵盖通过键值对添加与修改元素、使用keys()和values()获取键值集合、通过[]或get()方法取值、clear()清空字典,以及利用pop()和popitem()删除指定或最后一个元素。内容包含具体代码示例与注意事项,帮助开发者掌握字典的高效使用。

Python字典的添加与修改

在Python中,字典的添加与修改主要通过直接赋值或内置方法实现。若使用`dict[key] = value`形式,当键已存在时更新其值,不存在则新增该键值对。另一种方式是`dict.setdefault(key, value)`,若键存在则不执行任何操作并返回原值;若键不存在,则创建新键值对并返回该值。此外,`dict.update(dict2)`可用于合并字典,当键冲突时,以`dict2`中的值为准。

# coding:utf-8

if __name__ == '__main__':
    example = {'name': 'xie', 'age': 27}
    example2 = example.copy()
    example3 = example.copy()
    '''
     例1:使用dict[key] = value,这种方法如果dict中存在该key,则修改该key上的值=value,不存在该key,则创建该key=>value
     例2:使用dict.setdefault(key,value),当dict中存在该key,则啥都不干。当dict中不存在该key,则创建该key=>value
     dict.setdefault(key,value) 会返回dict[key]的值
     例3:使用dict.update(dict2),可以理解成为两个字典的合并,重复时以dict2的key=>value 为准
    '''

    # 例1
    example['school'] = '城南'
    print(example)  # {'name': 'xie', 'age': 27, 'school': '城南'}
    example['name'] = 'rui'
    print(example)  # {'name': 'rui', 'age': 27, 'school': '城南'}

    # 例2
    result = example2.setdefault('name', 'rui')
    print(result)  # xie
    print(example2)  # {'name': 'xie', 'age': 27}
    result = example2.setdefault('school', '城南')
    print(result)  # 城南
    print(example2)  # {'name': 'xie', 'age': 27, 'school': '城南'}

    # 例3
    example3.update({'name': 'rui'})
    print(example3)  # {'name': 'rui', 'age': 27}
    example3.update({'name': 'xiang', 'school': '城南'})
    print(example3)  # {'name': 'xiang', 'age': 27, 'school': '城南'}

获取字典的所有键与值

要获取字典中所有的键,可以使用`dict.keys()`方法。该方法返回一个包含所有键的伪列表对象(类型为`dict_keys`),此对象仅支持查看,不支持直接修改或删除。若需将其转换为标准列表以便进行其他操作,可通过`list(dict.keys())`实现类型转换。

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:通过dict.keys() 获取dict所有key组成的伪列表
    伪列表:只能看。不能修改,删除元素
    通过list(dict_keys)能将伪列表变成真列表
    '''

    # 例1
    example = {'name': 'xie', 'age': 27, 'sex': '男'}
    keys = example.keys()
    print(keys)  # dict_keys(['name', 'age', 'sex'])
    print(type(keys))  # <class 'dict_keys'>
    print(type(list(keys)))  # <class 'list'>

获取字典中所有值的方法为`dict.values()`,其返回结果同样是一个伪列表(类型为`dict_values`),包含字典中所有的值。与`keys()`类似,该对象不可直接修改。如需转换为标准列表,可使用`list(dict.values())`进行转换,从而获得一个包含所有值的列表。

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:通过dict.values()获取dict中所有value组成的伪列表
    通过list(dict_keys)将伪列表转成真列表
    '''
    
    # 例1
    example = {'name': 'xie', 'age': 27, 'sex': 'man'}
    values = example.values()
    print(values)  # dict_keys(['name', 'age', 'sex'])
    print(type(values))  # <class 'dict_keys'>
    print(type(list(values)))  # <class 'list'>

字典元素的取值方法

从字典中获取特定键对应的值有两种常见方式。第一种是直接通过`dict[key]`访问,若键存在则返回对应值,若键不存在则抛出KeyError异常。第二种是使用`dict.get(key, default)`方法,该方法在键不存在时返回指定的默认值(默认为None),不会抛出异常,因此在处理可能缺失的键时更为安全,尽管性能略低于直接索引。

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:通过dict[key]获取value,如果key不存在则报错
    列2:通过dict.get(key,default)获取key,如果key不存在则返回default,default默认None,性能比dict[key]小一丢丢,但不用去管报错的情况
    '''

    example = {'name': 'xie', 'age': 27, 'sex': 'man'}
    # 例1
    print(example['name'])  # xie
    # print(example['school'])报错

    # 例2
    print(example.get('name'))  # xie
    print(example.get('school'))  # None
    print(example.get('school', '城南花已开'))  # 城南花已开

清空字典的操作

清空字典中的所有元素可使用`dict.clear()`方法。执行此操作后,字典将变为空字典`{}`,原有的所有键值对均被移除。此操作适用于需要重置字典状态的场景,且不会改变字典对象本身的引用。

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:dict.clear()得到一个空字典
    '''

    example = {'name': 'xie'}
    # 例1
    example.clear()
    print(example)  # {}

删除指定与最后一个元素

删除字典中指定键对应的元素可使用`dict.pop(key)`方法。该方法会删除指定的键值对,并返回被删除元素的值。需要注意的是,如果指定的键在字典中不存在,该方法将抛出KeyError异常。因此,在调用前需确保键的存在,或使用异常处理机制。

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:dict.pop(key)删除字典key上的key=>value,如果key不存在,则报错
        dict.pop(key)返回删除前dict[key]上的value
    '''

    example = {'name': 'xie', 'age': 27}
    print(example.pop('age'))  # 27
    print(example)  # {'name': 'xie'}
    # example.pop('sex') sex在字典中不存在,报错

删除字典中最后一个元素可使用`dict.popitem()`方法。该方法移除并返回字典中最后一个插入的键值对(以元组形式`(key, value)`返回)。如果字典为空,调用此方法将抛出KeyError异常。此方法常用于迭代过程中逐个移除元素,或实现栈式数据结构。

# coding:utf-8

if __name__ == '__main__':
    '''
    例1:dict.popitem()删除最后一个元素的key=>value,如果dict是空字典则报错
        dict.popitem()返回被删除元素key,value组成的元组(key,value)
    '''
    example = {'name': 'xie', 'age': 27}

    # 例1
    print(example.popitem())  # ('age', 27)
    print(example)  # {'name': 'xie'}
    example.popitem()
    # example.popitem() 空字典调用popitem会报错

本文介绍了Python字典的基本操作方法,包括添加、修改、获取键值、清空及删除元素。掌握这些操作有助于更高效地处理字典数据。如需了解更多Python相关内容,可参考本站其他文章或继续浏览后续内容。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。