TypeError: 'numpy.float32' object cannot be interpreted as an integer


if __name__ == '__main__':
    fdir = '/wiki_zh_word2vec-master/wiki_zh_word2vec-master/'
    model = gensim.models.Word2Vec.load(fdir + 'wiki.zh.text.model')

    word = model.wv.similarity(u"足球", u"篮球")
    for x in range(word):
        print(x[0])
        print(x[1])
运行结果及报错内容

Traceback (most recent call last):
File "D:/wiki_zh_word2vec-master/wiki_zh_word2vec-master/4_model_match.py", line 21, in
for x in range(word):
TypeError: 'numpy.float32' object cannot be interpreted as an integer

1、word是numpy.float32对象,若需传入range需进行证整数转化,int(word)
2、但修改后,循环中x为整数,不支持下标操作

range里如果你是要用它的长度,那应该是range(len(wird))

望采纳

if __name__ == '__main__':
    fdir = '/wiki_zh_word2vec-master/wiki_zh_word2vec-master/'
    model = gensim.models.Word2Vec.load(fdir + 'wiki.zh.text.model')
 
    word = model.wv.similarity(u"足球", u"篮球")
    for x in word:
        print(x[0])
        print(x[1])