擅长:python、mysql、java
<p>使用正确的数据结构将使这一点变得容易得多,而且,假设您多次调用<code>GetID</code>,也会更快。(通常,当您发现从数据中提取所需信息太复杂时,答案通常是更改数据结构。)</p>
<p>如果您有一个字典,它将每个<code>name</code>映射到<code>id</code>,那么可以这样做:</p>
<pre><code>def GetID(name):
return name_to_id.get(name, "wrong name")
</code></pre>
<p>如果您以前从未见过<code>d.get(key, default)</code>,那么它就相当于<code>d[key]</code>,只是如果键不存在,您将得到<code>default</code>,而不是引发一个<code>KeyError</code>。在</p>
<hr/>
<p>那么,你怎么建那本字典呢?好吧,您已经知道如何显式地迭代现有的字典,所以让我们这样做:</p>
^{pr2}$
<p>如果你想让它更简洁:</p>
<pre><code>name_to_id = {v['name']: v['id'] for v in info.values()}
</code></pre>
<p>不管怎样,您只需在字典上循环一次,以设置<code>name_to_id</code>映射,而不是每次需要查找名称时。这是一个更简单的循环。在</p>
<p>这意味着现在每个名字查找都非常简单,速度也非常快。在</p>