我不确定这个术语是什么,但基本上我有一个defaultdict形式的word_set
,它来自解析一些原始数据的函数。你知道吗
我还有其他函数:reduceVal(word_set, min_val)
、reduceWord(word_set, *args)
,等等,它们分别删除值小于min\val、其(word)位于[args]中的对。它们几乎都遵循相同的结构
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
我想知道是否有一种更简洁的,或者说是python式的表达方式,而不需要构建一个新的rtn\u集,或者甚至不需要定义一个完整的函数
如果你学会使用dict理解,你不需要对所有这些不同的过滤器都有单独的函数。例如,
reduceVal
和reduceWord
可以替换为:使用dict理解,这里不需要
defaultdict
:在py2.x上,应该使用
word_set.iteritems()
,因为它返回一个迭代器。你知道吗相关问题 更多 >
编程相关推荐