关于将循环得到的字典添加到列表中出现重复最后一个字典的问题解决方案

我的问题:这是代码,我想在41行输出13个字典之后,把这些字典放到一个列表里。但是输出的列表是13个最后一个字典。

delta_neighbor_dict = dict()
delta_neighbor = list()
for index in range(data1.shape[1]):
    for k in range(data1.shape[0]):
        delta_neighbor_list = list()
        for v in range(data1.shape[0]):
            #欧氏距离计算样本间距离
            dis = np.sqrt(np.sum(np.square(data1[k] - data1[v])))
            if dis <= neighbor_list[index]:
                delta_neighbor_list.append(v)
            delta_neighbor_dict.update({k: delta_neighbor_list})
    print(delta_neighbor_dict)
    delta_neighbor.append(delta_neighbor_dict)
print(delta_neighbor)

(1)41行输出的13个字典:

 (2)42行我想把这13个字典添加到一个列表中

(3)但是输出的结果中:

[{ 0: [0, 20, 56], 1: [1], 2: [2], 3: [3], 4: [4], 5: [5, 18, 49, 53], 6: [6, 29], 7: [7], 8: [8], 9: [9, 29, 42, 47, 54, 56], 10: [10, 31], 11: [11, 12, 27], 12: [11, 12, 26, 27, 51, 57], 13: [13], 14: [14], 15: [15, 53, 57], 16: [16, 17, 48, 53], 17: [16, 17, 53], 18: [5, 18], 19: [19], 20: [0, 20, 40, 56], 21: [21], 22: [22, 23, 24, 29, 35], 23: [22, 23, 24, 35], 24: [22, 23, 24, 35], 25: [25], 26: [12, 26, 57], 27: [11, 12, 27, 37, 38], 28: [28], 29: [6, 9, 22, 29, 35], 30: [30], 31: [10, 31], 32: [32], 33: [33], 34: [34, 36, 37], 35: [22, 23, 24, 29, 35, 44], 36: [34, 36, 37], 37: [27, 34, 36, 37, 38], 38: [27, 37, 38], 39: [39], 40: [20, 40, 44, 56], 41: [41], 42: [9, 42, 47], 43: [43], 44: [35, 40, 44, 47], 45: [45], 46: [46], 47: [9, 42, 44, 47, 54, 56], 48: [16, 48], 49: [5, 49], 50: [50], 51: [12, 51], 52: [52], 53: [5, 15, 16, 17, 53, 57], 54: [9, 47, 54, 56], 55: [55],

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值