MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / _validate_dicts

Function _validate_dicts

dynamic_programming/viterbi.py:286–312  ·  view source on GitHub ↗

>>> _validate_dicts({"c":0.5}, {"d": {"e": 0.6}}, {"f": {"g": 0.7}}) >>> _validate_dicts("invalid", {"d": {"e": 0.6}}, {"f": {"g": 0.7}}) Traceback (most recent call last): ... ValueError: initial_probabilities must be a dict >>> _validate_dicts({"c":0.5}, {2: {"e":

(
    initial_probabilities: Any,
    transition_probabilities: Any,
    emission_probabilities: Any,
)

Source from the content-addressed store, hash-verified

284
285
286def _validate_dicts(
287 initial_probabilities: Any,
288 transition_probabilities: Any,
289 emission_probabilities: Any,
290) -> None:
291 """
292 >>> _validate_dicts({"c":0.5}, {"d": {"e": 0.6}}, {"f": {"g": 0.7}})
293 >>> _validate_dicts("invalid", {"d": {"e": 0.6}}, {"f": {"g": 0.7}})
294 Traceback (most recent call last):
295 ...
296 ValueError: initial_probabilities must be a dict
297 >>> _validate_dicts({"c":0.5}, {2: {"e": 0.6}}, {"f": {"g": 0.7}})
298 Traceback (most recent call last):
299 ...
300 ValueError: transition_probabilities all keys must be strings
301 >>> _validate_dicts({"c":0.5}, {"d": {"e": 0.6}}, {"f": {2: 0.7}})
302 Traceback (most recent call last):
303 ...
304 ValueError: emission_probabilities all keys must be strings
305 >>> _validate_dicts({"c":0.5}, {"d": {"e": 0.6}}, {"f": {"g": "h"}})
306 Traceback (most recent call last):
307 ...
308 ValueError: emission_probabilities nested dictionary all values must be float
309 """
310 _validate_dict(initial_probabilities, "initial_probabilities", float)
311 _validate_nested_dict(transition_probabilities, "transition_probabilities")
312 _validate_nested_dict(emission_probabilities, "emission_probabilities")
313
314
315def _validate_nested_dict(_object: Any, var_name: str) -> None:

Callers 1

_validationFunction · 0.85

Calls 2

_validate_dictFunction · 0.85
_validate_nested_dictFunction · 0.85

Tested by

no test coverage detected