任务是:
有一本字典node = {'T': '', 'V': 0, 'E': []}
有必要返回这个字典,但是用键替换值E
可以这样做:
return {'T': node['T'], 'V': node['V']: 'E': [1, 2]}
有可能是这样的:
node['E'] = [1, 2]
return node
甚至像这样(理论上最可靠):
new = copy.deepcopy(node)
new ['E'] = [1, 2]
return new
这样的问题 - 是否有可能在 1 行中以某种方式完美地做到这一点并且没有太多额外的功能,就像在 JS 中一样:
return {...node, 'E': [1, 2]}
前言
官方Python 3文档包含一个“内置类型”部分,该部分描述了内置于解释器中的标准数据类型。
在“映射类型 - dict ”小节中,您可以检查字典支持的操作列表。
回答
Python 3.9 中的一项创新是
merge operator
针对встроенного dict-класса
.官方文档说:
也就是说,结果将是一个新字典,其中组合了和字典 中的键和值。如果发生键冲突,字典值将优先。
d
other
other
例子
笔记
如果您有任何疑问,请参阅PEP 584 – 添加联合运算符到 dict