循环每个元素并根据该元素打印word2vec向量

时间:2018-10-03 01:28:32

标签: python printing word2vec

我想使用gensim word2vec打印单词的每个向量。

这是我的代码:

from gensim.models.word2vec import Word2Vec
a = [["man", "eater", "king"]]
model = Word2Vec(a, size =100, window=1, min_count=1)
model.build_vocab(a, update=True)
model.train(a, total_examples=1, epochs=1)

""" I know that I could use:
    for x in a:
        print(model.wv[x])

    This is not I intended because I wanted to know whether is there a possibility
    to loop each element in a list and return it into the model.wv[element] by printing 
    every each element by using only 1 line of code"""

#For example my intended way
print(model.wv[x for x in a])

但是,这是列表综合方法,将无法使用。我也尝试过

print(model.wv[lambda x:x, a])

但是仍然不起作用。谁能告诉我如何打印每个单词向量 不使用for循环方式?我只希望它是打印部分的1行。 如果仍然不清楚,请告诉我。

1 个答案:

答案 0 :(得分:1)

是的,您可以在此处使用列表理解功能,但不能使用您描述的格式:

[print(model.wv[x]) for x in a]