具有多个参数的 defaultdict

defaultdict with multiple parameters

我有一个 defaultdict 初始化为:

w2i = defaultdict(lambda: len(w2i))
UNK = w2i["<unk>"]

因此 UNK 的值为 0。 现在我向 w2i 添加更多元素(单词),每个键都映射到该实例的字典长度。

那么如果我们执行:

w2i = defaultdict(lambda: UNK, w2i)

并尝试使用新的或现有的单词密钥访问 w2i,结果会是什么?例如假设“一”是 w2i 中存在的密钥,而“二”不在 w2i 中。像上面那样重新定义 w2i 后,下面的结果会是什么?

onew2i = w2i["one"]
twow2i = w2i["two"]

还有,defaultdict中的2个参数代表什么。大多数关于使用 lambda 的 defaultdict 的教程似乎只有 1 个参数。

谢谢!

如果您正在使用:

w2i = defaultdict(lambda: UNK, w2i)

要从测试数据集中添加单词,w2i 中存在的单词将被跳过,w2i 中不存在的单词将添加值 0(UNK)。

因此onew2i的值不会改变,tw2i的值为0。