与 列表 list []
、元组 tuple ()
不同,字典 dict 是另一种可变容器模型,且可成对地(pairwise)存储任意类型对象。字典的每个键值 key->value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {}
中。
字典定义及初始化
# 常规定义
info_dict = {"name": "wayne17", "age": 17, "sex": "male", 1: 17}
# 非常规形式
info2 = {1: [2, 3], "class": (3, 2), "type": 2, "dict": {2: 3}}
字典中,键与键值一一对应,键值可以为任意对象形式(对象、元组、列表…),但键只能为单一固定变量!若同一个键出现多次,则该键对应键值取最后一个值。
内置函数
dict[key]
根据键返回键值,若字典中不存在该键则报错dict.get(key, default = None)
根据键返回键值,若字典中不存在该键则返回默认值dict.setdefault(key, default = None)
若字典中有该 key ,返回对应键值,否则将键值对key: default
添加到字典中并返回键值del dict
删除字典,del dict[key]
根据键删除键值对dict.clear()
清空字典所有条目len(dict)
返回字典键值对个数key in dict
若字典中有该 key ,返回 True, 否则返回 Falsedict.keys()
返回字典所有的 key ,若想索引可转化为列表list(dict.keys())
dict.values()
返回字典所有的 valuedict.pop(key, default=None)
字典中有该 key,删除键对应键值对,并返回键值,否则返回 defaultdict.popitem()
删除字典中最后一个键值对dict.fromkeys(list/tuple, default=None)
由 list/tuple 中元素作为键,default为键值构建字典(这里的dict
是关键字,不是形参)dict.update(dict2)
把字典dict2的键值对更新到dict里(有则改之,无则添加)
注意
[]
,get()
,setdefault()
三种方法区别及适用场景