Python中的字典dict详解

python 中字典dict详解

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

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
dict["w"] = "watermelon"      //字典添加键值对
del(dict["a"])                //字典删除
dict["g"] = "grapefruit"      //字典修改
print dict.pop("b")           //字典删除键,并返回键值对
print dict
dict.clear()                  //清空字典中所有元素
print dict

2.字典的遍历

(1).按照keys进行遍历

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
for k in dict:
    print "dict[%s] =" % k,dict[k]

(2).字典中的items
每个元素是一个key和value组成的元组,以列表的方式输出

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

(3).使用items实现遍历

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}
for (k, v) in dict.items():
    print "dict[%s] =" % k, v

(4).调用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
Output:
<dictionary-itemiterator object at 0x02967510>
dict[a] = apple
dict[c] = grape
dict[b] = banana
dict[d] = orange
dict[a] = apple
dict[c] = grape
dict[b] = banana
dict[d] = orange

3.使用列表、字典作为字典的值

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]

4.字典的输出

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
//get()的用法
print dict.get("c", "apple")
print dict.get("e", "apple")
//get()的等价语句
D = {"key1" : "value1", "key2" : "value2"}
if "key1" in D:
    print D["key1"]
else:
    print "None"

5.字典的更新(以一个字典更新另一个字典)

dict = {"a" : "apple", "b" : "banana"}
print dict
dict2 = {"c" : "grape", "d" : "orange"}
dict.update(dict2)
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中的keys,则会将其更新为E中的value
D = {"key1" : "value1", "key2" : "value2"}
E = {"key2" : "value3", "key4" : "value4"}
for k in E:
    D[k] = E[k]
print D
Output:
{'key3': 'value3', 'key2': 'value2', 'key1': 'value1', 'key4': 'value4'}
{'key2': 'value3', 'key1': 'value1', 'key4': 'value4'}

6.设置默认值

dict = {}
dict.setdefault("a")
print dict
dict["a"] = "apple"
dict.setdefault("a","default")
print dict

7.字典的排序

#调用sorted()排序
dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"}
print dict 
#按照key降序排列
print sorted(dict.items(), key=lambda d: d[0],reverse=True)
#按照value升序排列
print sorted(dict.items(), key=lambda d: d[1],reverse=False)

8.字典的拷贝

//字典的浅拷贝
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

参考文献:
[1]http://blog.csdn.net/tianmohust/article/details/7621424
[2]http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html

posted @ 2015-12-29 15:42  许不懂  阅读(434)  评论(0)    收藏  举报