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

浙公网安备 33010602011771号