Bootstrap
字典是另一种可变容器模型,且可存储任意类型对象。本文主要介绍字典的常用操作和字典的内置方法。下面具体看一下。

1、创建字典

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。值可以取任何数据类型,但键必须不可变,所以可以用数字,字符串或元组充当,例如:

>>>dict = {'a': 1, 'b': 2, 'b': '3'};
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': '3'}

2、访问字典

把相应的键放入熟悉的方括弧,代码如下:

#!/usr/bin/python
dict = {'Name': 'abc', 'Age': 7, 'Class': '22'}; 
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];

输出结果:

dict['Name']:  abc
dict['Age']:  7

3、修改和新增字典

#!/usr/bin/python
dict = {'Name': 'abc', 'Age': 7, 'Class': '22'}; 
dict['Name']="levi"; #更新字典的存的值
dict['Address']="home";#新增一个新的键值对
print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];

输出结果:

dict['Name']:  levi
dict['Address']:  home

4、删除字典中的元素

#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict =  {'Name': 'abc', 'Age': 7, 'Class': '22'}; 
del dict['Name']; # 删除键是'Name'的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典
print "dict['Age']: ", dict['Age']; 
print "dict['Address']: ", dict['Address'];

代码执行这会引发一个异常,因为用del后字典不存在:

dict['Age']:
Traceback (most recent call last):
  File "test.py", line 8, in
    print "dict['Age']: ", dict['Age'];
TypeError: 'type' object is unsubscriptable

5、字典内置函数和方法

 1)cmp(dict1, dict2) :比较两个字典元素。
 2)len(dict) :计算字典元素个数,即键的总数。
 3)str(dict) :输出字典可打印的字符串表示。
 4)type(variable) :返回输入的变量类型,如果变量是字典就返回字典类型。
 5)dict.clear() :删除字典内所有元素。
 6)dict.copy() :返回一个字典的浅复制。
 7)dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值。
 8)dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值。
 9)dict.has_key(key) :如果键在字典dict里返回true,否则返回false。
10)dict.items() :以列表返回可遍历的(键, 值) 元组数组。
11)dict.keys() :以列表返回一个字典所有的键。
12)dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default。
13)dict.update(dict2) :把字典dict2的键/值对更新到dict里。
14)dict.values() :以列表返回字典中的所有值。
15)pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
16)popitem() :随机返回并删除字典中的一对键和值。