首页 > 解决方案 > 在运行 pdb 时,它显示已返回空列表

问题描述

这是我的代码的一部分,我正在尝试通过运行 pdb 来修复错误。当我在下面放置实际的打印语句时,我可以看到列表元素,但是在 pdb 上运行时,它返回空列表并给出错误:ZeroDivisionError

def assign_clusters(data, k, initialization):
    dim = data.shape
    cluster = [[] for i in range(k)]
    counter = 0
    if initialization == 'round_robin':
        if len(dim) == 1:
            for i in range(0,dim[0]):
                cluster[counter].append(data[i])
                counter += 1
                if counter == k:
                    counter = 0
    means = mean_calculation(cluster)
    lis = []
    lis.append(cluster)
    lis.append(means)   
    return lis  

def mean_calculation(cluster):
    means = [0 for j in range(len(cluster))]
    for i in range(len(cluster)):
        means[i] = sum(cluster[i])/len(cluster[i])
    return means


lis = assign_clusters(out, k, initialization)

在尝试使用 print(lis) 查看 lis 的内容时,我可以看到列表元素,但在 pdb 上看不到。你能帮帮我吗?

标签: pythonpdb

解决方案


推荐阅读