我已经看到了一些问题,但他们改变了价值和关键。
我手套嵌入字典是公共访问的。它有单词作为键,每个键有300个值。键为str
数据类型,值为float
。
我需要将密钥更改为'numpy.unicode_'
数据类型。但只是钥匙。我该怎么做呢?
我当前的字典看起来像这样:
'king' : [0.0033901, -0.34614, 0.28144, ...]
这些浮点值不变,它是300维嵌入。我只需要改变键的数据类型,在我给numpy unicode的例子中'king'
我从另一个找到的解决方案中尝试了这个:
unidict = {key.decode('utf8') for key in embedding_dict()}
但是它给出了错误“TypeError:'dict'对象不可调用”
答案 0 :(得分:2)
尝试以下方法:
unidict = {key.decode('utf8'): value for key, value in embedding_dict.items()}
或:
unidict = {key.decode('utf8'): embedding_dict[key] for key in embedding_dict}
第一个是首选。
在您的示例中(在embedding_dict
之后删除括号后),您正在使用dict中的键创建set
,而不是dict
。
答案 1 :(得分:1)
我认为error
位于:
unidict = {key.decode('utf8') for key in embedding_dict()}
是您尝试call
embedding_dict
。试着改为:
unidict = {key.decode('utf8') for key in embedding_dict}