python dict用法
2014-03-24 18:16
405 查看
鍵(Key)值(Value)對應的物件,鍵物件必須是 hashable。以下是一些操作示範:
使用
#字典的添加、删除、修改操作
dict = {"a" :"apple","b" :"banana","g" :"grape","o" :"orange"}
dict["w"] ="watermelon"
del(dict["a"])
dict["g"] ="grapefruit"
print dict.pop("b") # 会讲原dict里的内容修改, 无需重新赋值
print dict
dict.clear()#全部清空
print dict
#字典的遍历
dict = {"a" :"apple","b" :"banana","g" :"grape","o" :"orange"}
for k in dict:
print "dict[%s] =" % k,dict[k]
#字典items()的使用
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
#每个元素是一个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
#调用iteritems()实现字典的遍历
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
print dict.iteritems()
for k,v in dict.iteritems():
print "dict[%s] =" % k,v
for (k,v) in zip(dict.iterkeys(),dict.itervalues()):
print "dict[%s] =" % k,v
#使用列表、字典作为字典的值
dict = {"a" :("apple",),"bo" :{"b" :"banana","o" :"orange"},"g" :["grape","grapefruit"]}
print dict["a"]
print dict["a"][0]
print dict["bo"]
print dict["bo"]["o"]
print dict["g"]
print dict["g"][1]
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
#输出key的列表
print dict.keys()
#输出value的列表
print dict.values()
#每个元素是一个key和value组成的元组,以列表的方式输出
print dict.items()
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
it = dict.iteritems()
print it
#字典中元素的获取方法
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
print dict
print dict.get("c","apple")#如果c存在,则取出c对应的value,print dict.get("e","apple")#如果e 不存在,则取出apple对应的key
#get()的等价语句
D = {"key1" :"value1","key2" :"value2"}
if "key1" in D:
print D["key1"]
else:
print "None"
#字典的更新
dict = {"a" :"apple","b" :"banana"}
print dict
dict2 = {"c" :"grape","d" :"orange"}
dict.update(dict2)#讲dict2的内容全部加入dic
print dict
#udpate()的等价语句
D = {"key1" :"value1","key2" :"value2"}
E = {"key3" :"value3","key4" :"value4"}
for k in E:
D[k] =E[k]
print D
#字典E中含有字典D中的key
D = {"key1" :"value1","key2" :"value2"}
E = {"key2" :"value3","key4" :"value4"}
for k in E:
D[k] =E[k]
print D
#设置默认值
dict = {}
dict.setdefault("a")
print dict
dict["a"] ="apple"
dict.setdefault("a","default") #如果已经添加了value,则再用default也不会更改里面的value
print dict
#调用sorted()排序
dict = {"a" :"apple","b" :"grape","c" :"orange","d" :"banana"}
print dict
#按照key排序
print sorted(dict.items(),key=lambda d:d[0])
#按照value排序
print sorted(dict.items(),key=lambda d:d[1])
#字典的浅拷贝
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"# dict3 与dict 指向了同一快地址空间,因此改变dict3 就改变了dict
print dict
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | >>> passwords = { 'Justin' : 123456 , 'caterpillar' : 933933 } >>> passwords[ 'Justin' ] 123456 >>> passwords[ 'Hamimi' ] = 970221 # 增加一對鍵值 >>> passwords { 'caterpillar' : 933933 , 'Hamimi' : 970221 , 'Justin' : 123456 } >>> del passwords[ 'caterpillar' ] # 刪除一對鍵值 >>> passwords { 'Hamimi' : 970221 , 'Justin' : 123456 } >>> passwords.items() [( 'Hamimi' , 970221 ),( 'Justin' , 123456 )] >>> passwords.keys() [ 'Hamimi' , 'Justin' ] >>> passwords.values() [ 970221 , 123456 ] >>> |
[]時如果指定的鍵不存在,會發生
KeyError,可以使用
dict的
get方法,指定鍵不存在時傳回的預設值。例如:
1 2 3 4 5 6 7 | >>> passwords.get( 'openhome' , '000000' ) '000000' >>> passwords[ 'openhome' ] Traceback (most recent call last): File "" ,line 1 ,in KeyError: 'openhome' >>> |
dict = {"a" :"apple","b" :"banana","g" :"grape","o" :"orange"}
dict["w"] ="watermelon"
del(dict["a"])
dict["g"] ="grapefruit"
print dict.pop("b") # 会讲原dict里的内容修改, 无需重新赋值
print dict
dict.clear()#全部清空
print dict
#字典的遍历
dict = {"a" :"apple","b" :"banana","g" :"grape","o" :"orange"}
for k in dict:
print "dict[%s] =" % k,dict[k]
#字典items()的使用
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
#每个元素是一个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
#调用iteritems()实现字典的遍历
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
print dict.iteritems()
for k,v in dict.iteritems():
print "dict[%s] =" % k,v
for (k,v) in zip(dict.iterkeys(),dict.itervalues()):
print "dict[%s] =" % k,v
#使用列表、字典作为字典的值
dict = {"a" :("apple",),"bo" :{"b" :"banana","o" :"orange"},"g" :["grape","grapefruit"]}
print dict["a"]
print dict["a"][0]
print dict["bo"]
print dict["bo"]["o"]
print dict["g"]
print dict["g"][1]
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
#输出key的列表
print dict.keys()
#输出value的列表
print dict.values()
#每个元素是一个key和value组成的元组,以列表的方式输出
print dict.items()
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
it = dict.iteritems()
print it
#字典中元素的获取方法
dict = {"a" :"apple","b" :"banana","c" :"grape","d" :"orange"}
print dict
print dict.get("c","apple")#如果c存在,则取出c对应的value,print dict.get("e","apple")#如果e 不存在,则取出apple对应的key
#get()的等价语句
D = {"key1" :"value1","key2" :"value2"}
if "key1" in D:
print D["key1"]
else:
print "None"
#字典的更新
dict = {"a" :"apple","b" :"banana"}
print dict
dict2 = {"c" :"grape","d" :"orange"}
dict.update(dict2)#讲dict2的内容全部加入dic
print dict
#udpate()的等价语句
D = {"key1" :"value1","key2" :"value2"}
E = {"key3" :"value3","key4" :"value4"}
for k in E:
D[k] =E[k]
print D
#字典E中含有字典D中的key
D = {"key1" :"value1","key2" :"value2"}
E = {"key2" :"value3","key4" :"value4"}
for k in E:
D[k] =E[k]
print D
#设置默认值
dict = {}
dict.setdefault("a")
print dict
dict["a"] ="apple"
dict.setdefault("a","default") #如果已经添加了value,则再用default也不会更改里面的value
print dict
#调用sorted()排序
dict = {"a" :"apple","b" :"grape","c" :"orange","d" :"banana"}
print dict
#按照key排序
print sorted(dict.items(),key=lambda d:d[0])
#按照value排序
print sorted(dict.items(),key=lambda d:d[1])
#字典的浅拷贝
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"# dict3 与dict 指向了同一快地址空间,因此改变dict3 就改变了dict
print dict
相关文章推荐
- Python中Dict字典用法
- python中defaultdict的用法
- 简介Python的collections模块中defaultdict类型的用法
- python基础-list,dict,tuple的用法
- python基本数据类型list,tuple,set,dict用法以及遍历方法
- 【python】list tuple dict set 用法及说明
- 【python笔记】python中的list、tuple、set、dict用法简析
- Python中defaultdict(lambda:3)用法
- python中defaultdict的用法详解
- python dict字典操作用法详细总结
- Python Dict 词典的用法
- Python Dict用法
- 【Python】【Dict】dict 基本用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- python 字典 dict.get的用法
- Python中list,tuple,dict,set的区别和用法(转)
- python中dict的用法
- Python中内置数据类型list,tuple,dict,set的区别和用法
- Python中list,tuple,dict,set基本定义和基本用法
- python中dict的用法 python中dict的用法