Python字典操作与常用函数详解

沈知远
沈知远
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍Python中字典的核心操作与常用函数。内容涵盖字典的多种遍历方式(keys、values、items)、创建方法(dict、zip、推导式),以及清空、复制、fromkeys、get、setdefault等关键函数的使用场景与示例,帮助开发者掌握字典的高效处理技巧。

字典是Python中一种重要的数据结构,用于存储键值对。

dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 

字典的操作主要涉及数据的遍历与创建。在遍历方面,Python提供了多种灵活的方式。默认情况下,直接遍历字典对象会返回所有的键。例如,通过for循环直接迭代字典变量,可以获取如'watermelon'、'apple'等键名。若需显式获取键,可使用keys()方法,其效果与默认遍历一致。若关注值,则使用values()方法,可获取如'苹果'、'牛油果'等对应的值。若需同时获取键和值,items()方法是最常用的选择,它返回键值对元组,可通过解包方式分别处理键和值,例如将键与值用分隔符连接输出。在创建字典方面,除了直接使用花括号语法,还可以利用dict()构造函数,通过关键字参数如brand、size、color来构建字典。此外,结合zip()函数与dict()可以高效地将两个列表(如键列表和值列表)合并为字典。字典推导式也是一种简洁的创建方式,例如通过遍历现有字典的项,生成包含特定格式字符串的新字典。

#字典的遍历方式 
#默认遍历(遍历key) 
for value in dict_fruit: 
  print(value) 
''''' 
遍历出的值: 
watermelon 
apple 
cherry 
avocado 
banana 
''' 
#使用key遍历(与默认遍历一样) 
for key in dict_fruit.keys(): 
  print(key) 
''''' 
遍历出的值: 
watermelon 
apple 
cherry 
avocado 
banana 
''' 
#使用value遍历 
for value in dict_fruit.values(): 
  print(value) 
''''' 
遍历出的值: 
苹果 
牛油果 
香蕉 
西瓜 
樱桃 
''' 
#使用key,value遍历 
for key,value in dict_fruit.items(): 
  print(key+'--->'+value) 
''''' 
遍历出的值: 
avocado--->牛油果 
apple--->苹果 
banana--->香蕉 
cherry--->樱桃 
watermelon--->西瓜 
''' 
#创建字典 
#使用dict() 
res = dict(brand = '品牌',size='尺码',color='颜色') 
print(res,type(res)) 
''''' 
res结果: 
{'size': '尺码', 'brand': '品牌', 'color': '颜色'} <class 'dict'> 
''' 
#使用zip()和dict() 
keys = ['1','2','3','4','5'] 
values = [1,2,3,4,5] 
res = dict(zip(keys,values)) 
print(res,type(res)) 
''''' 
res结果: 
{'3': 3, '4': 4, '1': 1, '2': 2, '5': 5} <class 'dict'> 
''' 
#字典的推导式 
res = {k+'的中文是'+v for k,v in dict_fruit.items()} 
print(res) 
''''' 
res结果: 
{'watermelon的中文是西瓜', 'avocado的中文是牛油果', 'banana的中文是香蕉', 'cherry的中文是樱桃', 'apple的中文是苹果'} 
''' 

字典的函数操作包括数据的修改、查询与转换。清空字典可使用clear()方法,执行后字典变为空。复制字典时,copy()方法会生成一个与原字典内容相同但独立的新字典对象,修改新字典不会影响原字典。若需根据给定的键列表创建字典,并指定统一的默认值,可使用fromkeys()方法。对于字典内部数据的查询,items()、keys()和values()方法分别返回包含键值对、键集合和值集合的视图对象,这些视图对象具有动态性,随字典变化而更新。获取特定键对应的值可使用get()方法,该方法在键不存在时不会报错,而是返回None或指定的默认值。若需向字典中添加新键值对且仅在键不存在时生效,可使用setdefault()方法;若键已存在,则不会更新其值。

#清空字典 
test1 = {1:'1'} 
test1.clear() 
print(test1) 
''''' 
test1结果: 
{} 
''' 
#复制字典(复制成一个新字典) 
test2 = {2:'2'} 
test2_copy = test2.copy() 
print(test2_copy) 
''''' 
test2结果: 
{2: '2'} 
''' 
#使用指定的key和value制作一个字典 
list_test = ['a','b','c'] 
test3 = {}.fromkeys(list_test,'ojbk') 
print(test3) 
''''' 
test3结果: 
{'a': 'ojbk', 'b': 'ojbk', 'c': 'ojbk'} 
''' 
#将一个字典转化为二级容器(中间容器) 
res = dict_fruit.items() 
print(res,type(res)) 
''''' 
res结果: 
dict_items([('avocado', '牛油果'), ('apple', '苹果'), ('banana', '香蕉'), ('watermelon', '西瓜'), ('cherry', '樱桃')]) <class 'dict_items'> 
''' 
#将字典的key组成新的容器 
res = dict_fruit.keys() 
print(res,type(res)) 
''''' 
res结果: 
dict_keys(['watermelon', 'cherry', 'avocado', 'apple', 'banana']) <class 'dict_keys'> 
''' 
#将字典的value组成新的容器 
res = dict_fruit.values() 
print(res,type(res)) 
''''' 
res结果: 
dict_values(['牛油果', '香蕉', '樱桃', '苹果', '西瓜']) <class 'dict_values'> 
''' 
#根据key删除字典中的数据 
test4 = {1:'1',2:'2',3:'3'} 
test4.pop(2) 
print(test4) 
''''' 
test4结果: 
{1: '1', 3: '3'} 
''' 
#依次弹出(删除)字典中的数据 
test5 = {1:'1',2:'2',3:'3',4:'4',5:'5'} 
test5.popitem() 
print(test5) 
test5.popitem() 
print(test5) 
test5.popitem() 
print(test5) 
''''' 
test5依次结果: 
{2: '2', 3: '3', 4: '4', 5: '5'} 
{3: '3', 4: '4', 5: '5'} 
{4: '4', 5: '5'} 
''' 
#更新dict中的数据(更新一个不存在的key时,可用于添加新数据) 
test6 = {'super':'Eric','ssuper':'Cbabe','sssuper':'Gogo','supreme':'wiz333'} 
#更新数据 
test6.update(super='Eric-LPL') 
print(test6) 
#添加数据 
test6.update(niceboy='Bigmao') 
print(test6) 
''''' 
test6依次结果: 
{'ssuper': 'Cbabe', 'supreme': 'wiz333', 'sssuper': 'Gogo', 'super': 'Eric-LPL'} 
{'ssuper': 'Cbabe', 'supreme': 'wiz333', 'niceboy': 'Bigmao', 'sssuper': 'Gogo', 'super': 'Eric-LPL'} 
''' 
#获取dict中的数据(使用key获取) 
test7 = {1:'1',2:'2',3:'3',4:'4',5:'5'} 
res = test7.get(1) 
print(res,type(res)) 
''''' 
test7结果: 
1 <class 'str'> 
''' 
#给dict添加数据(setdefault,不能用于更新数据) 
test8 = {1:'1',2:'2',3:'3',4:'4',5:'5'} 
test8.setdefault(6,'6') 
print(test8) 
''''' 
test8结果: 
{1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6'} 
''' 

综上所述,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 算法库。