Я пытаюсь написать функцию, которая помогает обусловливать распределение вероятностей, удаляя пары «ключ-значение» в словаре, которых нет в наборе параметров, поэтому корректирую оставшиеся значения «ключ» так, чтобы они складывались как 1Моя проблема возникает, когда я запускаю тестовый скрипт, который говорит: «TypeError: 'set' объект недопустим».Вот мой код ...
class Distribution(object):
def __init__(self, dist):
if isinstance(dist, dict):
self.d = dist
elif isinstance(dist, tuple):
self.d = {}
n = len(dist[0])
for i in range(n):
self.d.setdefault(dist[0][i], dist[1][i])
else:
self.d = {}
n = len(dist)
for elem in dist:
self.d.setdefault(elem, 1/n)
def condition(self, set):
sums = sum(self.d.values())
for k in set:
if self.d[k] != set[k]:
self.d.pop(k)
self.d[k] = self.d[k] / sums
return None