dict是Python中的标准映射类型,可以存储任意类型对象。
创建字典
字典可以通过将以逗号分隔的 键: 值
对列表包含于花括号{}
之内来创建,也可以通过dict构造器来创建。
使用花括号{}
1 | # 创建一个空字典 |
输出:
1 | {} |
使用dict构造器
字典dict类有四个初始化方法,函数原型如下:
1 | # 创建一个空字典 |
- dict(iterable)通过如下的方式创建字典
1 | d = {} |
示例:
1 | test_dict1 = dict() |
输出:
1 | {} |
访问元素
使用d[key]
返回键key对应的值。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | gongshan |
使用get方法
函数原型:
1 | get(key[, default]) |
如果键名key存在,则返回对应的值value;否则,返回default(键值对key=default不会加入字典中)。default默认为None。
示例:
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | gongshan |
使用setdefault方法
函数原型:
1 | setdefault(key[, default]) |
如果键key存在,则返回其值;否则,插入值为default的键key,并返回default。default默认为None。
setdefault方法和get方法的不同之处:setdefault方法会将不存在的键key及其值default插入字典中,而get方法并不会。
示例:
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | gongshan |
添加/修改元素
使用如下的语法添加/修改字典的元素:
1 | 字典[键] = 值 |
示例:
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | {'name': 'gongshan', 'age': 24} |
删除元素
使用关键字del
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | {'name': 'gongshan', 'age': 24} |
使用pop方法
函数原型如下:
1 | # d是一个可选的位置参数 |
如果键key在字典中,则将其删除并返回其值;否则,返回d。如果d未给出且key不存在,则会引发KeyError。
示例:
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | {'age': 24} |
使用popitem方法
从字典中删除并返回一个(键,值)
。删除时,遵循后进先出(LIFO)的顺序。如果字典为空,则会引发KeyError。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | ('age', 24) |
遍历字典
遍历字典中的键
如果只想遍历字典的键,使用dict的keys方法。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | dict_keys(['name', 'age']) |
遍历字典中的值
如果只想遍历字典的键,使用dict的values方法。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | dict_values(['gongshan', 24]) |
遍历字典中的(键,值)对
如果想要遍历字典中的(键,值)对,可以使用dict的values方法。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | dict_items([('name', 'gongshan'), ('age', 24)]) |
复制字典
dict的copy方法,可以返回原字典的浅拷贝。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | {'name': 'gongshan', 'age': 24} |
清空字典
dict的clear方法,可以删除字典中的所有元素。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | {} |
判断字典是否为空
- 在条件判断中,空字典表示False。
1 | test_dict = {} |
输出:
1 | dict is empty. |
- 判断长度是否为0
1 | test_dict = {} |
输出:
1 | dict is empty. |
判断键是否在字典中
使用key in dict
语法,可以判断key是否在dict中。如果key在dict中,则返回True;否则,返回False。
1 | test_dict = {'name': 'gongshan', 'age': 24} |
输出:
1 | False |