转换字典键数据类型

时间:2017-10-24 08:13:49

标签: python numpy dictionary

我已经看到了一些问题,但他们改变了价值和关键。

我手套嵌入字典是公共访问的。它有单词作为键,每个键有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'对象不可调用”

2 个答案:

答案 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}