python dict

字典的构造函数是dict,通过花括号 {} 创建
当指定字典的内容时,单个的键值对由冒号 : 隔开

1. 创建 contacts 字典,并添加 ‘barb’

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 创建 空字典
>>> test_dict = dict()
>>> print test_dict
{}
# 创建字典
>>> contacts = {'bill': '353-1234', 'rich': '269-1234'}
>>> contacts
{'bill': '353-1234', 'rich': '269-1234'}
# 通过key 打印值
>>> contacts['bill']
'353-1234'
# 添加字典
>>> contacts['barb'] = '271-1234'
>>> contacts
{'barb': '271-1234', 'bill': '353-1234', 'rich': '269-1234'}

2. 键值 对调

1
2
3
4
5
6
7
d = {"a": 100, "b": 200, "c": 300}
d2 = {}
for (k, v) in d.items():
d2[v] = k
print d2
{200: 'b', 300: 'c', 100: 'a'}

3. 获取 键/值 列表

1
2
3
4
5
6
>>> d = {"a": 100, "b": 200, "c": 300}
>>> print d.keys()
['a', 'c', 'b']
>>> print d.values()
[100, 300, 200]

4. 转换为 键:值 列表

1
2
3
>>> d = {"a": 100, "b": 200, "c": 300}
>>> print d.items()
[('a', 100), ('c', 300), ('b', 200)]

5. 字典方法

1
2
3
4
5
6
7
8
9
10
11
12
13
dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.fromkeys(seq[, val])) 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
dict.has_key(key) 如果键在字典dict里返回true,否则返回false
dict.items() 以列表返回可遍历的(键, 值) 元组数组
dict.update(dict2) 把字典2更新到dict里
dict.keys() 以列表 返回字典所有的键
dict.iterkeys() 以迭代器 返回字典所有的键
dict.values() 以列表 返回字典所有的值
dict.itervalues() 以迭代器 返回字典所有的值
dict.pop(key) 删除字典给定键 key 所对应的值,返回值为被删除的值。
dick.popitem() 随机返回并删除字典中的一对键和值。