1. get

注意以下两种形式的细微差别,差别在返回值的类型上:

d.get(value, '')
d.get(value, [''])
>> d = {}
>> d.get(value, '')
''
>> d.get(value, [''])
['']

2. update:字典更新

x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}

此时如果我们想通过字典 y 更新字典 x,以得到新的字典 z = {'a': 1, 'b': 3, 'c': 4},如果使用字典的成员方法(update)方法,update 方法没有返回值,且其对字典的修改是 in-place 的,就像 list 的 append、extend 方法一样。一种简洁的解决方案如下:

z = {**x, **y}

关于 **x, **y其实是对关键字参数的收集和展开,在 Python 的编程风格里,关键字参数等同于字典。详见 ython 进阶 —— 可变参数(*args, **kw)与参数收集的逆过程

posted on 2017-07-23 23:58  未雨愁眸  阅读(483)  评论(0编辑  收藏  举报