擅长:python、mysql、java
<p>这里有一个符合您的特殊规格(在您指定的模糊范围内):</p>
<pre><code>(SOsurvivalConditions['firstCondition'].setdefault('synonym', 'A modern form of RTM is: Google It.'), SOsurvivalConditions)[-1]
</code></pre>
<p>这确实修改了初始数据结构(而不是像@trupo的答案那样创建新的结构),而且也是一个返回整个字典的表达式(而不是像@Evan的答案那样是一个语句,或者像@Seth那样返回None)。在</p>
<p>当然,有许多变体是可能的(如果您希望新条目覆盖具有相同关键字“synonym”的现有条目,而不是将任何此类现有条目单独保留,您可以使用<code>__setitem__</code>而不是{<cd2>}——很难猜测在这种转角情况下,您希望发生什么,因为您的初始规范非常模糊而且没有“真实用例”上下文来帮助消除歧义)。在</p>
<p><strong>编辑</strong>:现在在注释中澄清了用例(不改变原始数据结构,确实需要一个表达式,但助手函数可以),我建议如下:</p>
^{pr2}$
<p>作为所需的表达式,使用:</p>
<pre><code>addSubEntry(SOsurvivalConditions, 'firstCondition', 'synonym', 'A modern form of RTM is: Google It.')
</code></pre>
<p>根据拐角情况下所需的确切行为,有几种变体是可能的。这个版本添加了一个新的字典(只有给定的内部键值对),如果以前没有具有给定外部键的条目;如果有<em>是</em>这样的前一个条目,它会尝试将其放入dict(即使它是键值元组的列表),如果不可行,则会引发异常。一个更严格的版本(要求内部条目已经存在并且是dict或dict-like对象,从而引发异常)可以改为使用</p>
<pre><code>inner = result[outerKey].copy()
</code></pre>
<p>作为正文中的第二个陈述。在</p>