1、新的操作符与dict.update方法的关系与列表连接(+)、扩展(+=)操作符与list.extend方法的关系相同。值得注意的是,这与集中|/|=操作符与set.update的关系稍有不同。作明确了允许本地操作符接受更广泛的类型(如list)是更有用的设计,限制二进制操作符的操作数类型(如list)有助于避免复杂的隐藏类型转换引起的错误。
>>> l1 = [1, 2] >>> l1 + (3,) # 限制操作数的类型,不是列表就报错 Traceback (most recent call last) ... TypeError: can only concatenate list (not "tuple") to list >>> l1 += (3,) # 允许就地运算符接受更广泛的类型(如元组) >>> l1 [1, 2, 3]
2、合并字典发生键冲突时,以最右边的值为准。这符合现有字典的类似操作。
{'a': 1, 'a': 2} # 2 覆盖 1 {**d, **e} # e覆盖d中相同键所对应的值 d.update(e) # e覆盖d中相同键所对应的值 d[k] = v # v 覆盖原有值 {k: v for x in (d, e) for (k, v) in x.items()} # e覆盖d中相同键所对应的值
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试