gpt4 book ai didi

Python语法: mutating/reducing a defaultdict?

转载 作者:行者123 更新时间:2023-11-30 23:33:44 26 4
gpt4 key购买 nike

我不确定这个术语是什么,但基本上我有一个默认字典形式的 word_set [(word, value), ...]来自解析一些原始数据的函数。

我还有其他函数:reduceVal(word_set, min_val)reduceWord(word_set, *args)等,用于删除以下对:值小于 min_val,分别在 [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

我想知道是否有一种更简洁或Pythonic的方式来表达这一点,而无需构建新的rtn_set,甚至不需要定义整个函数

最佳答案

如果您学习使用字典推导式,则不需要为所有这些不同的过滤器使用单独的函数。例如,reduceValreduceWord 可以替换为:

# Python 2.7+
{w: v for w, v in word_set.items() if v > value}
{w: v for w, v in word_set.items() if w in args}

# Python 2.6 and earlier
dict((w, v) for w, v in word_set.iteritems() if v > value)
dict((w, v) for w, v in word_set.iteritems() if w in args)

关于Python语法: mutating/reducing a defaultdict?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18596189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com