Python编程语言中有许多比较简单的功能应用,在实际编程中却体现了非常强大的功能。比如Python字典的应用就是其中一个比较重要的应用

 

Python字典应用方式

 

1)get(key,default=None)

 

返回键值key对应的值;如果key没有在字典里,则返回default参数的值,默认为None

dict1={}

dict1.get('a')

# key 'a' i not in dict, return None

dict1['a']='no1'

dict1.get('a')# return value 'no1'

 

 

2)clear

 

clear the whole dict.

清空字典

 

3)has_key(key)

 

如果key出现在dict里则返回True;否则返回False

>>> dict1  
{'a': '1111'}  
>>> dict1.has_key('b')  
False  
>>> dict1.has_key('a')
True 

 

4)items

这一种Python字典应用方式, 主要功能是返回dict的(键,值)tuple对的一个列表

dict1={'a': 'no1', 'b': '2222'}

>>>dict1.items()

[('a', 'no1'), ('b', '2222')] 

 

5)keys 返回dict的键列表

 

 

6)values 返回dict的值列表

 

 

7)setdefault(key,default=None)

 

如果dict中有key,则返回key值,如果没有找到key,则在dict中加上该key,值(value)由default参数给出,默认None

 

8)update(dict2)

 

把dict2的元素加入到dict中去,键字重复时会覆盖dict中的键值

 

dict2={'c': '3333', 'b': 'no2'}

dict1={'a': 'no1', 'b': '2222'}

dict1.update(dict2)

>>> dict1  
{'a': 'no1', 'c': '3333', 'b': 'no2'}

# over ride repeated key and value pair.

 

 

9)popitem

 

这一Python字典应用方式删除任意键-值对,并返回该键-值对,如字典为空,则产生异常

dict1={'b': 'no2'}

>>> dict1.popitem()  
('b', 'no2')


>>> dict1.popitem()  
Traceback (most recent call last):  
File "< interactive input>", line 1, in < module> 
KeyError: 'popitem(): dictionary is empty' 

10)pop(key,[d])

 

删除指定键字的键-值对,并返回该键对应的值。 第二个参数是default 返回值 当key 不在dict 内。

 

11)copy

返回字典的一个浅拷贝

 

12)deepcopy

 

返回字典的一个深拷贝, 当dict 中有表或类的对象时(compound objects (objects that contain other objects, like lists or class instances)

 

字典的遍历

 

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