猿问

对于numpy,获取“ int”对象不是可迭代的错误

因此,这是导致错误的代码的一部分。分配是一个字典,其中键和numpy数组的索引作为项目。数据和质心是数组。


我无法弄清楚为什么在执行“ try”行时无法得到错误的“ int”对象。有时它工作正常,但有时却不行。任何帮助将不胜感激


for key in self.assignments:

    clust_sum = 0

    for k in self.assignments[key]:

        clust_sum += data[k]

    print(key, clust_sum)

    try:

        self.centroids[key] = [

        m / len(self.assignments[key]) for m in clust_sum]

    except Exception as e:

        print(e)


慕村9548890
浏览 205回答 2
2回答

跃然一笑

替换for m in clust_sumwiith for m in range(0,clust_sum)。

温温酱

问题出在for m in clust_sum,clust_sum是int,您无法遍历一个int对象。我不确切知道您想做什么,但是如果您要运行您for loop的次数,clust_sum您可以这样做:for key in self.assignments:clust_sum = 0for k in self.assignments[key]:    clust_sum += data[k]print(key, clust_sum)try:    self.centroids[key] = [    m / len(self.assignments[key]) for m in range(clust_sum)]except Exception as e:    print(e)
随时随地看视频慕课网APP

相关分类

Python
我要回答