我是python的新手,我有一些我不理解的奇怪东西。
我尝试在图像上实现kmeans算法,该功能假设将组中的rgb颜色设置为可设置,但是有两件事发生。
def set_in_groups(x, centroids, k):
dis_array = [None] * k
groups = [[[None] * 3]] * k
for rgb in x:
for d in range(k):
dis_array[d] = distance(rgb, centroids[d])
index = dis_array.index(min(dis_array))
groups[index].append(rgb)
return groups
groups [index] .append(rgb)-> rgb不仅插入组[index],而且插入到所有列中。
它开始将rgb插入组[index] [1],而不是来自组[index] [0]。
x是图像颜色的2D数组,k是质心数,rgb是数组大小3。