python中dict详解

字典的添加、删除、修改操作###

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"} //创建字典
dict["w"] = "watermelon" //添加
del(dict["a"]) //删除
dict["g"] = "grapefruit"
print dict.pop("b")//移除指定键的值
dict.clear()//清空字典 原地操作 注意如果使用dict = dict()会创建一个新字典之前的字典空间不一定释放 可能引起内存溢出

字典的遍历###

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
for k in dict:    
  print "dict[%s] =" % k,dict[k]
//字典items()的使用,每个元素是一个key和value组成的元组,以列表的方式输出print dict.items()
//调用items()实现字典的遍历
dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
for (k, v) in dict.items():    
  print "dict[%s] =" % k, v

print dict.keys()//输出key的列表
print dict.values() //输出value的列表

字典的更新####

dict.update(dict2)
//udpate()的等价语句
D = {"key1" : "value1", "key2" : "value2"}
E = {"key3" : "value3", "key4" : "value4"}
for k in E:
  D[k] = E[k]print D

设置默认值###

dict.setdefault("a","default")//如字典中存在关键字a则返回a对应的value否则返回default值

按照key排序###

sorted(dict.items(), key=lambda d: d[0], reverse=True)

按照value排序###

sorted(dict.items(), key=lambda d: d[1], reverse=False)

字典的浅拷贝###

dict = {"a" : "apple", "b" : "grape"}
dict2 = {"c" : "orange", "d" : "banana"}
dict2 = dict.copy()
print dict2

字典的深拷贝###

import copy
dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}}
dict2 = copy.deepcopy(dict)//深拷贝会讲字典的内部对象复制到一个新空间
dict3 = copy.copy(dict)//浅拷贝只会把字典表层的对象拷贝到新空间
dict2["b"]["g"] = "orange"
print dict
dict3["b"]["g"] = "orange"
print dict
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,818评论 0 5
  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,705评论 0 16
  • 原文链接 http://avenwu.net/2015/07/23/conflicts-between-appba...
    萧喃阅读 5,008评论 0 0
  • 匆匆。忙忙。 没有一刻的停歇。为了到来的国庆大假,似乎都在忙碌。 办公室里每个人都对即将到来的国庆长假充满了期待。...
    狮子座秋秋阅读 984评论 2 1