擅长:python、mysql、java
<p>我相信你指的是双向词典,这里有一个食谱(来自<a href="https://stackoverflow.com/questions/1456373/two-way-reverse-map">Two way/reverse map</a>):</p>
<pre><code>class TwoWayDict(dict):
def __setitem__(self, key, value):
# Remove any previous connections with these values
if key in self:
del self[key]
if value in self:
del self[value]
dict.__setitem__(self, key, value)
dict.__setitem__(self, value, key)
def __delitem__(self, key):
dict.__delitem__(self, self[key])
dict.__delitem__(self, key)
def __len__(self):
"""Returns the number of connections"""
return dict.__len__(self) // 2
</code></pre>
<p>用法:</p>
^{pr2}$
<p>返回<code>True</code></p>
<p>如果你指的是dict的dict,这是相当常见的构造,其中包含dict的值也是dict。在</p>
<pre><code>dofd = {'key1': {'subkey1': 'value1,1', 'subkey2': 'value1,2'}
'key2': {'subkey1': 'value2,1', 'subkey2': 'value2,2'}
}
</code></pre>
<p>你可以像这样访问内部值:</p>
<pre><code>dofd['key1']['subkey2']
</code></pre>
<p>应返回<code>value1,2</code></p>