-
获取字典指定key的值
dict.get(key[, default])
VS
dict[key]
>>> dict = {"a":1,"b":2}
dict.get()
>>> dict.get("a") # exist key
1
>>> dict.get("c","not exist") # not exist key
'not exist'
dict[key]
>>> dict["c"] # not exist key
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'c'
dict[key]遇到key不存在时报错,而get方法则可以设置默认值,特别是需要操作返回值时,get()方法更实用
-
获取值或者插入键值对
setdefault(key[, default])
>>> dict = {"a":1,"b":2}
- 不填写default(默认为None)
>>> dict.setdefault("a") # exist key
1
>>> dict.setdefault("c") # not exist key
>>> dict
{'a': 1, 'b': 2, 'c': None} # dict add dict["c"]=None
- 填写default
>>> dict.setdefault("c", -1) # exist key, default = -1
>>> dict
{'a': 1, 'b': 2, 'c': None} # no added
>>> dict.setdefault("d", -1) # not exist key, default =-1
-1
>>> dict
{'a': 1, 'b': 2, 'c': None, 'd': -1} # dict add dict["d"]=-1
如果dict存在该key,则返回key对应的Value
如果dict不存在该key,则插入key,Value=default,default默认为None
-
插入或修改键值对
update([other])
>>> dict = {"a":1,"b":2}
>>> dict.update(b=1, c=2)
>>> dict
{'a': 1, 'b': 1, 'c': 2}
>>> dict.update({"c":4})
>>> dict
{'a': 1, 'b': 1, 'c': 4}
如果key存在dict,则修改key的对应值
如果key不存在dict,则dict新增该键值对
可简单理解为:有则修改,无则增加
-
复制字典
d2 = d1
>>> d1
{'a': 1, 'b': 2}
>>> d2=d1
>>> d2["b"]=1
>>> d2
{'a': 1, 'b': 1}
>>> d1
{'a': 1, 'b': 1}
修改d2的值,d1的值也会变,原因是d2=d1是把d1的地址赋给了d2,两个变量指向同一个地址,因此d2修改了值,d1的值也会跟着变
d2 = d1.copy()
>>> d1
{'a': 1, 'b': 2}
>>> d2=d1.copy()
>>> d2["b"]=1
>>> d1
{'a': 1, 'b': 2}
>>> d2
{'a': 1, 'b': 1}
>>>
修改d2的值,d1的值不会跟着变
-
合并两个dictionary
d | other
(New in version 3.9.)
>>> d1={'a': 1, 'b': 2}
>>> d2={'a': 1, 'b': 1, 'c': 4}
>>> d1 | d2
{'a': 1, 'b': 1, 'c': 4}
d |= other
New in version 3.9.
>>> d1={'a': 1, 'b': 2}
>>> d2={'a': 2, 'c': 2}
>>> d1 |= d2
>>> d1
{'a': 2, 'b': 2, 'c': 2}
>>> d2
{'a': 2, 'c': 2}
网友评论