一、字典( Dictionary )
字典是另一种可变容器模型,且可存储任意类型对象。字典是无序的并且键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
字典的每个键值 key ----> value 对用冒号 “ : ” 分割,每个键值对之间用逗号 “ , ” 分割,整个字典包括在花括号 { } 中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
1、字典的增
#!-*- coding:utf-8 -*-
dic_sel1 = {'name':'Springer', 'age':18, 'hobby':['Java', 'Python', 'C/C++'], 'is_knowledgeable':True}
dic2_sel2 = dict((('name', 'Springer'), ('age', 20)))
print(dic_sel1)
print(dic2_sel2)
2、字典的删
- pop( )
pop( ) 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。
pop(self, key, default)
- clear( )
clear( ) 函数用于删除字典内所有元素。
clear(self)
pop(self, key, default)
- popitem( )
popitem( ) 方法随机返回并删除字典中的一对键和值。如果字典已经为空,却调用了此方法,就报出 KeyError 异常。
popitem(self)
- del
del 语句可以用来删除字典本身。
del dictionary_name
- 实例(Python 3.0+)
#!-*- coding:utf-8 -*-
dic_del1 = {'name':'Springer', 'age':18, 'hobby':'girl'}
dic_del2 = {'a':1, 'b':2, 'c':3, 'd':4}
dic_del3 = { }
del_value = dic_del1.pop('hobby') # 删除元素并返回结果
print(del_value) # girl
print(dic_del1) # {'age': 18, 'name': 'Springer'}
del dic_del1['age']
print(dic_del1) # {'name': 'Springer'}
dic_del1.clear()
print(dic_del1) # {}
del dic_del1
# print(dic_del1) # 因为字典已经不存在,故报错 : NameError: name 'dic_del1' is not defined
print(dic_del2) # {'b': 2, 'c': 3, 'd': 4, 'a': 1}
del_value2 = dic_del2.popitem() # 随机删除某组键值对,并返回删除的值
print(del_value2) # ('b', 2)
print(dic_del2) # {'c': 3, 'd': 4, 'a': 1}
dic_del3.popitem() # 因为字典为空,故报错 : KeyError: 'popitem(): dictionary is empty'
3、字典的改
- update( )
update( ) 函数把字典参数 dict2 的 key / value (键/值) 对更新到字典 dict 里。
update(self, other, kwargs)
- 实例(Python 3.0+)
#!-*- coding:utf-8 -*-
dic_up1 = {'a':1, 'b':3, 'c':3}
dic_up2 = {'a':1, 'b':2, 'd':4, 'e':6}
dic_up1.update(dic_up2)