一、字典
字典是一种可变容器模型,且可存储任意类型对象
1、创建字典
字典的每个键值
key:value
对用冒号:
分割,每个键值对之间用逗号,
分割,整个字典包括在花括号{}
中,格式如下所示:
d = {key1 : value1, key2 : value2 }
注意:dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict
键是唯一的,如果重复最后的一个键值对会替换前面的。值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }
字典键值的特点
- 不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住
- 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行
2、访问字典里的值
使用
[]
根据key访问对应的value,例如:
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print(tinydict['Name'])
print(tinydict['Age'])
注意:如果访问的键值字典里面没有会出错
3、修改字典
向字典添加新内容的方法是增加新的键/值对,例如:
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
tinydict['Name'] = "jams" # 更新
tinydict['Address'] = "xian" # 添加
print(tinydict) # 输出结果:{'Name': 'jams', 'Age': 7, 'Class': 'First', 'Address': 'xian'}
4、删除字典
删除字典单一元素或删除字典可以使用
del
,直接清空字典可以使用clear
,例如:
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
del tinydict['Name'] # 删除键是'Name'的条目
tinydict.clear() # 清空字典所有条目
del tinydict # 删除字典
5、字典内置函数
常用字典内置函数如下:
函数 | 功能 |
---|---|
cmp(dict1, dict2) | 比较两个字典元素 |
len(dict) | 计算字典元素个数 |
6、字典内置方法
常用字典内置方法如下:
方法 | 功能 |
---|---|
dict.clear() | 删除字典所有元素 |
dict.copy() | 返回字典的浅复制 |
dict.fromkeys(seq[, val]) | 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
dict.get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
dict.has_key(key) | 如果键在字典dict里返回true,否则返回false。(注意:Python3 不支持) |
dict.items() | 以列表返回可遍历的(键, 值) 元组数组 |
dict.keys() | 以列表返回一个字典所有的键 |
dict.setdefault(key, default=None) | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
dict.update(dict2) | 把字典dict2的键/值对更新到dict里 |
dict.values() | 以列表返回字典中的所有值 |
pop(key[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
popitem() | 返回并删除字典中的最后一对键和值。 |