Python字典操作全解:创建、访问、增删改查与排序遍历

陈默
陈默
发布时间:2026-10-13 | 6人浏览过
原创

本文详解Python中字典的核心操作方法,涵盖从创建、访问到增删改查的完整流程。重点解析如何按Key或Value进行排序,多种遍历方式及字典与列表、集合的性能差异对比,帮助开发者高效掌握字典使用技巧。

字典是Python中另一种可变容器模型,能够存储任意类型的数据对象。

在字典结构中,每个键值对(key=>value)通过冒号(:)进行分隔,各个键值对之间则使用逗号(,)隔开,整个字典内容被包含在花括号({})之中。

字典的值没有数量限制,可以是任何Python对象,既包括标准对象也包括用户自定义对象;然而键必须是唯一的,若对同一键重复赋值,系统将保留后一个值。

字典的值可以是任何数据类型,但键必须是不可变类型,例如字符串、数字或元组;列表等可变类型不能作为字典的键。

一、字典的创建与访问方法

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

dict2 = { }; //空字典

print "dict['Name']: ", dict['Name'];

print "dict['Age']: ", dict['Age'];

当字典中包含列表时,示例代码为:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}

当字典中包含嵌套字典时,示例代码为:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}

二、字典的修改与添加操作

dict['Age'] = 8; # update existing entry

dict['School'] = "DPS School"; # Add new entry

三、字典的删除操作

示例代码:del dict['Name'] # 删除键是'Name'的条目

示例代码:dict.clear() # 清空字典中所有条目

示例代码:del dict  # 删除整个字典对象

四、查询字典中是否包含指定键

dict.has_key(k)

若指定的键存在于字典dict中,则返回true,否则返回false。

查看所有键值对的常用方法包括:dict.keys()、dict.values()、dict.items();上述方法返回值的类型为列表。

五、遍历字典的多种方式

for d,x in dict.items():

print "key:"+d+",value:"+x

for k in dict.keys():

print "key:"+k+",value:"+dict[k]

六、字典排序实现

按照Key进行排序的示例代码为:

print sorted(dict1.items(), key=lambda d: d[0])

或者使用以下代码:

sorted(d.items(), lambda x, y: cmp(x[0], y[0]))

实现反序排列的代码为:

sorted(d.items(), lambda x, y: cmp(x[0], y[0]), reverse=True)

按照Value进行排序的示例代码为:

print sorted(dict1.items(), key=lambda d: d[1])

或者使用以下代码:

sorted(d.items(), lambda x, y: cmp(x[1], y[1]))

实现Value反序排列的代码为:

sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)

接下来介绍List、Dict与Set之间的主要区别

List(列表):

支持按距离差访问元素

顺序访问,速度相对较慢

存储空间要求较小

Dict(字典):

支持按索引访问元素

需要较大的内存空间,但访问速度非常快

Set(集合):

元素不可重复

其他特性与Dict基本类似

集合支持一系列标准操作,包括并集、交集、差集和对称差集,具体示例如下:

a = t | s          # t 和 s的并集

b = t & s          # t 和 s的交集

c = t – s          # 求差集(项在t中,但不在s中)

d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)

灵活使用字典将对你的Python编程工作带来很大的帮助,大家一定要熟练掌握Python字典的使用方法

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表