これはちょっと複雑なので、このための簡単な構成を見逃している場合は、私に知らせてください:)
いくつかのマッチング実験の結果を分析しています。experiments[0]["cat"]["cat"]
最後のゲームでは、「cat」が「cat」と一致した回数を生成するなどのクエリを実行できるようにしたいと思います。逆にexperiments[0]["cat"]["dog"]
、最初のクエリが猫で、一致の試みが犬だった場合、私はそれを行うことができました。
以下は、この構造を設定するための私のコードです。
# initializing the first layer, a list of dictionaries.
experiments = []
for assignment in assignments:
match_sums = {}
experiments.append(match_sums)
for i in xrange(len(classes)):
for experiment in xrange(len(experiments)):
# experiments[experiment][classes[i]] should hold a dictionary,
# where the keys are the things that were matched against classes[i],
# and the value is the number of times this occurred.
experiments[experiment][classes[i]] = collections.defaultdict(dict)
# matches[experiment][i] is an integer for what the i'th match was in an experiment.
# classes[j] for some integer j is the string name of the i'th match. could be "dog" or "cat".
experiments[experiment][classes[i]][classes[matches[experiment][i]]] += 1
total_class_sums[classes[i]] = total_class_sums.get(classes[i], 0) + 1
print experiments[0]["cat"]["cat"]
exit()
明らかに、これは少し複雑です。そして、最後の一致では、の完全な辞書ではなく、「1」の値を取得していますexperiments[0]["cat"]
。私はこれに間違ってアプローチしましたか?ここでのバグは何でしょうか?狂気にごめんなさい、そしてどんな可能な助けにも感謝します!