擅长:python、mysql、java
<p>您正在反复设置相同的键:</p>
<pre><code>dictonary.update( s = b.string, i = b.integer )
</code></pre>
<p>通过使用关键字,您可以设置两个键;<code>s</code>和<code>i</code>;字典的定义就是它们将键映射到值,其中键是唯一的。你知道吗</p>
<p>如果要为循环中的每个元素设置不同的键值组合,请设置不同的键。例如,对每个键使用<code>b.string</code>,对值使用<code>b.integer</code>,以元组形式传入:</p>
<pre><code>dictonary.update((b.string, b.integer))
</code></pre>
<p>或者直接使用赋值设置键值:</p>
<pre><code>dictonary[b.string] = b.integer
</code></pre>
<p>你用听写理解代替整个循环:</p>
<pre><code>dictionary = {b.string: b.integer for b in boogeyman}
</code></pre>
<p>可以使用起始值为<code>1</code>的<a href="http://docs.python.org/2/library/functions.html#enumerate" rel="nofollow">^{<cd5>}</a>和列表来简化第一个循环:</p>
<pre><code>boogeyman = [Dict_ator(char, i)) for i, char in enumerate("boogeyman", 1)]
</code></pre>
<p>如果不需要<code>Dict_ator</code>对象,可以使用相同的<code>enumerate()</code>循环来构建字典:</p>
<pre><code>dictionary = {char: i for i, char in enumerate('boogeyman', 1)}
</code></pre>
<p>如果希望字典以另一种方式映射,则交换整数和字符组件。你知道吗</p>