python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法

yipeiwu_com6年前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]))

反序:

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字典的使用方法

相关文章

关于ZeroMQ 三种模式python3实现方式

关于ZeroMQ 三种模式python3实现方式

ZeroMQ是一个消息队列网络库,实现网络常用技术封装。在C/S中实现了三种模式,这段时间用python简单实现了一下,感觉python虽然灵活。但是数据处理不如C++自由灵活。 Req...

在OpenCV里使用特征匹配和单映射变换的代码详解

在OpenCV里使用特征匹配和单映射变换的代码详解

前面已经学习特征查找和对应匹配,接着下来在特征匹配之后,再使用findHomography函数来找出对应图像的投影矩阵。首先使用一个查询图片,然后在另外一张图片里找到目标对象,其实就是想...

Python 创建空的list,以及append用法讲解

Python中list的用法:如何创建list,如何表达list中的元素,如何修改和删除list 运行环境:Python 3.6.2 0.空list的创建: l = list()...

最大K个数问题的Python版解法总结

TopK问题,即寻找最大的K个数,这个问题非常常见,比如从1千万搜索记录中找出最热门的10个关键词. 方法一: 先排序,然后截取前k个数. 时间复杂度:O(n*logn)+O(k)=O(...

Python求离散序列导数的示例

Python求离散序列导数的示例

有一组4096长度的数据,需要找到一阶导数从正到负的点,和三阶导数从负到正的点,截取了一小段。 394.0 388.0 389.0 388.0 388.0 392.0 39...