擅长:python、mysql、java
<p>我们来看看第一个:</p>
<ol>
<li><code>str(wi) for wi in wordids</code>接受<code>wordids</code>中的每个元素并将其转换为字符串。</li>
<li><code>sorted(...)</code>对它们进行排序(按字典顺序)。</li>
<li><code>'_'.join(...)</code>将排序后的单词id合并为一个在条目之间带有下划线的字符串。</li>
</ol>
<p>现在是第二个:</p>
<pre><code>normalizedscores = dict([(u,float(1)/maxscore) for (u,l) in linkscores.items()])
</code></pre>
<ol>
<li><code>linkscores</code>是字典(或类似字典的对象)。</li>
<li><code>for (u,l) in linkscores.items()</code>遍历字典中的所有条目,为每个条目分配键和值给<code>u</code>和<code>l</code>。</li>
<li><code>(u,float(1)/maxscore)</code>是一个元组,其第一个元素是<code>u</code>,第二个元素是<code>1/maxscore</code>(对我来说,这可能是一个拼写错误:<code>float(l)/maxscore</code>更合理——注意小写字母el代替一个)。</li>
<li><code>dict(...)</code>从元组列表中构造一个字典,其中每个元组的第一个元素作为键,第二个元素作为值。</li>
</ol>
<p>简而言之,它复制字典,保留键并将每个值除以<code>maxscore</code>。</p>