python 字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。
字典由键和对应值成对组成。字典也被称作关联数组或哈希表。
* 有序字典(OrderedDict):
>>> from collections import OrderedDict
>>> a=OrderedDict({})
>>> a
OrderedDict()
>>> a['a'] =1
>>> a['b'] =2
>>> a['c']=3
>>> a
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> for k, v in a.items():
... print k, v
...
a 1
b 2
c 3
>>> b = {}
>>> b['a']=1
>>> b['b']=2
>>> b['c']=3
>>> b
{'a': 1, 'c': 3, 'b': 2}
>>> for k, v in b.items():
... print k,v
...
a 1
c 3
b 2
a 是一个OrderedDict,有序字典,它会按照添加的顺序显示字典。而b 是普通字典,是无序的。
例: dict = {'Alice':'123','Beth':'23','Cecil':'234'}
注意:每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号({})。键必须独一无二。
a. 访问字典里的值:(把相应的键放入熟悉的放括弧)
#dict['Alice'] = '123'
如果用字典没有的键访问,会输出错误:KeyError。
b. 修改字典:(向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值)
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
c. 删除字典元素:(能删单一的元素也能清空字典,显示删除一个字典用del命令)
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # 删除键是'Name'的条目
dict.clear(); # 清空词典所有条目
del dict ; # 删除词典
d. 字典键的特性:
1. 不允许同一个键出现两次;
2. 键必须不可变,所以可以用数,字符串或元组充当,不能用列表。
e. 字典内置函数&方法:
1. cmp(dict1,dict2) : 比较两个字典元素;
2. len(dict) : 计算字典元素个数,即键的总数;
3. str(dict) : 输出字典可打印的字符串表示。
dict.clear() : 删除字典所有元素
dict.copy() : 返回一个字典的浅复制
dict.fromkeys() : 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key,default=None) : 返回指定键的值,如果值不在字典中返回default值
dict.has_key(key) : 如果键在字典dict里返回true,否则返回false
dict.items() : 以列表返回可遍历的(键,值)元组数组
dict.keys() : 以列表返回一个字典所有的键
dict.setdefault(key,default=None) : 和get()类似,如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2) : 把字典dict2的键/值对更新到dict里
dict.values() : 以列表返回字典中的所有值