Skip to main content
 首页 » 编程设计

python之我的字典有 9 个项目,但在迭代时只有 8 个

2025年05月04日9EasonJim

这是我的代码:

trainingSet = {"0,0":0, "1,0":1, "2,0":1, "0,1":0, "1,1":1, "1,2":0, "2,0":0, "2,1":0, "2,2":1} 
 
for k,expectedOutput in trainingSet.iteritems(): 
    print 1 
    coordinates = k.split(",") 
    network.layers[0].neurons[0].value = float(coordinates[0]) 
    network.layers[0].neurons[1].value = float(coordinates[1]) 
    output = network.calculateOutput() 

输出是:

1 
1 
1 
1 
1 
1 
1 
1 
# 8 lines 

这怎么可能? trainingSet 字典中有 9 个项目。输出不应该是:

1 
1 
1 
1 
1 
1 
1 
1 
1 
# 9 lines 

请您参考如下方法:

您有两次 key “2,0”:

... "2,0":1, "0,1":0, "1,1":1, "1,2":0, "2,0":0  ... 
     ^^^                                 ^^^ 

字典中的键必须是唯一的。如果您想多次使用不同值的键,则需要使用不同的数据结构。例如,您可以使用元组列表或从键到值列表的字典。

更有可能的是,尽管我猜你只是混淆了数字,而你实际上是这样想的:

trainingSet = { 
    "0,0" : 0, "1,0" : 1, "2,0" : 1, 
    "0,1" : 0, "1,1" : 1, "2,1" : 0, 
    "0,2" : 0, "1,2" : 0, "2,2" : 1 
}