我想使用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行。 如果仍然不清楚,请告诉我。
答案 0 :(得分:1)
是的,您可以在此处使用列表理解功能,但不能使用您描述的格式:
[print(model.wv[x]) for x in a]