目录
3. d.setdefault(key[, default])
1. d[keys]
最基础的查询,返回 d 中以 key 为键的项。 如果映射中不存在 key,报错引发 KeyError。
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
d['a']
1
d['e']
Traceback (most recent call last):
File "<input>", line 1, in <module>
KeyError: 'e'
2. d.get(key[, default])
如果不想查询不到时报错,可以通过.get()查询。
当 key 存在于字典中,则返回其对应的 “值”;
否则返回 default 参数,该参数默认为None。
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
#键'a'存在于字典,返回对应值
d.get('a')
1
#设置default参数为'没有查询到该参数!',键'e'不存在字典,返回default
d.get('e','没有查询到该参数!')
'没有查询到该参数!'
#没有设置default参数,返回默认值None
x = d.get('e')
x == None
True
3. d.setdefault(key[, default])
如果查询不到,便直接新建键值对,可以通过.setdefalut()查询或新建。
当 key 存在于字典中,则返回其对应的 “值”;
否则插入一个 key: default 的键值对,并返回 default 参数,该参数默认为None。
d = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
#键'a'存在于字典,返回对应值
d.setdefault('a')
1
#没有设置default参数,键'e'不存在字典,返回默认值None,字典d中新建键值对'e': None
d.setdefault('e')
d
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': None}
#设置default参数为'未查询到新建键值对',键'f'不存在字典,返回default,并在字典d中新建键值对'f': '未查询到新建键值对'
d.setdefault('f','未查询到新建键值对')
'未查询到新建键值对'
d
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': None, 'f': '未查询到新建键值对'}