<p>我不确定这个术语是什么,但基本上我有一个defaultdict形式的<code>word_set</code>,它来自解析一些原始数据的函数。你知道吗</p>
<p>我还有其他函数:<code>reduceVal(word_set, min_val)</code>、<code>reduceWord(word_set, *args)</code>,等等,它们分别删除值小于min\val、其(word)位于[args]中的对。它们几乎都遵循相同的结构</p>
<pre><code>def reduceVal(word_set, value):
"Returns word_set with (k, v) pairs where v > value)"
rtn_set = defaultdict()
for (k, v) in word_set.items():
if v > value:
rtn_set.update({k:v})
return rtn_set
</code></pre>
<p>我想知道是否有一种更简洁的,或者说是python式的表达方式,而不需要构建一个新的rtn\u集,或者甚至不需要定义一个完整的函数</p>
<p>使用dict理解,这里不需要<code>defaultdict</code>:</p>
<pre><code>new_dict = {k:v for k, v in word_set.items() if v > value}
</code></pre>
<p>在py2.x上,应该使用<code>word_set.iteritems()</code>,因为它返回一个迭代器。你知道吗</p>