В python уже существует multi key dict, а также многозначный dict. Мне нужен был словарь python, который является следующим:
Пример:
# probabilistically fetch any one of baloon, toy or car
d['red','blue','green']== "baloon" or "car" or "toy"
Вероятность d ['red'] == d ['green'] высокая и вероятность d ['red']!= d ['red'] низкая, но возможная
одно выходное значение должно быть вероятностно определено (нечеткое) на основе правила из ключей например: в вышеприведенном случае правило может быть, если ключи имеют как "красный", так и "синий", а затем возвращают "баллон" 80% времени, если только синий, а затем возвращают "игрушку" 15% времени "автомобиль" 5% времени.
Метод setitem должен быть сконструирован таким образом, чтобы было возможно следующее:
d["red", "blue"] =[
("baloon",haseither('red','green'),0.8),
("toy",.....)
,....
]
Выше задается несколько значений словаря с помощью функции предиката и соответствующей вероятности. И вместо списка назначений выше даже словарь как назначение будет предпочтительнее:
d["red", "blue"] ={
"baloon": haseither('red','green',0.8),
"toy": hasonly("blue",0.15),
"car": default(0.05)
}
В приведенном выше шаре будет возвращено 80% времени, если присутствует "красный" или зеленый , возвратите игрушку 15% времени если голубая настоящая и возвратите автомобиль 5% времени без любого условия.
Существуют ли существующие структуры данных, которые уже удовлетворяют вышеуказанным требованиям в python? если нет, то как можно изменить код мультикиддика для удовлетворения вышеуказанных требований в python?
если используется словарь, тогда может быть файл конфигурации или использовать соответствующие вложенные декораторы, которые конфигурируют приведенные выше вероятностные логики предикатов без необходимости жесткого кода, если выражения \else.
Примечание. Выше - полезный автомат для приложения автоответчика, основанного на правилах, поэтому дайте мне знать, доступна ли какая-либо подобная структура на основе правил на питоне, даже если она не использует структуру словаря?