Python字典操作详解:keys、values、items及pop方法实战

一只小鹿
一只小鹿
发布时间:2026-10-14| 3人浏览过
原创

本文系统介绍Python字典获取键、值及键值对的多种方法。详细解析keys()、values()、items()的遍历用法,以及get()的安全取值与pop()/popitem()的删除机制。结合Spyder代码示例,展示字典操作的实际效果与注意事项,帮助开发者高效处理字典数据。

Python字典获取键的方法

在Python中,获取字典的所有键可以通过keys()方法实现。该方法返回一个包含字典所有键的视图对象,常用于遍历或检查键的存在性。


#spyder
bb={'人才/可怕':23,'伏地魔&波特':'army','哈哈哈,人才,回合':'hhh'}
for ii in bb.keys():
  print(ii)

#输出:
#人才/可怕
#伏地魔&波特
#哈哈哈,人才,回合

Python字典获取值的方法

若需获取字典中的所有值,可使用values()方法。它返回一个包含所有值的视图对象,适用于需要提取数值数据的场景。


for jj in bb.values():
  print(jj)

#输出
#23
#army
#hhh

Python字典获取键值对的方法

当需要同时获取键和对应的值时,items()方法是最佳选择。该方法返回键值对的元组序列,支持解包赋值,便于同时处理键和值。


for kk,vv in bb.items():
  print(kk, vv)

#输出
#人才/可怕 23
#伏地魔&波特 army
#哈哈哈,人才,回合 hhh

keys()方法的进阶应用

keys()方法不仅用于遍历,还可直接赋值给变量以获取字典键的集合。通过检查特定键是否在keys()返回的结果中,可以判断键是否存在,并进一步通过字典索引获取对应值。


xx = bb.keys()
print(xx) #输出:dict_keys(['人才/可怕', '伏地魔&波特', '哈哈哈,人才,回合'])

if '人才/可怕' in bb.keys():
  print(bb['人才/可怕'])
#输出该键对应的值:23

使用get()安全获取指定键的值

字典的get()方法用于安全地获取指定键的值。若键存在,返回对应值;若键不存在,则返回指定的默认值(第二个参数),且不会修改原字典。这种方式避免了KeyError异常,适合不确定键是否存在的情况。


c = bb.get('人才','没有找到该键')
print(c)

cc = bb.get('人才/可怕','没有找到该键')
print(cc)

使用pop()获取并删除键值对

pop()方法用于获取指定键对应的值,并同时从字典中删除该键值对。若指定的键不存在,则返回提供的默认值(第二个参数),而不会抛出异常。执行后,原字典将不再包含该键值对。


d = bb.pop('人才','pop失败')  # pop失败
print(d)

dd = bb.pop('人才/可怕','pop失败') #pop成功,且删除该键对应的键值对
print(dd)

print(bb) #原字典已变化

使用popitem()随机移除键值对

popitem()方法用于随机移除并返回字典中的一个键值对。由于Python 3.7之前字典无序,返回的键值对具有随机性;在Python 3.7+中,它遵循插入顺序,但仍用于移除最后一个插入的项。该方法会修改原字典,移除被弹出的键值对。


key, value = bb.popitem()
print(key, ':', value)  #取出的键值对
print(bb)  #变化之后的字典

以上介绍了Python字典获取键、值及键值对的主要方法。掌握keys()、values()、items()、get()和pop()/popitem()的使用,能显著提升字典操作的效率与安全性。如需了解更多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 算法库。