outcome2dict

negmas.outcomes.outcome2dict(outcome, issues)[source]

Converts the outcome to a dict no matter what was its type.

Parameters:
  • outcome (tuple | None) – The outcome to be converted (as a tuple)

  • issues (Sequence[str | Issue]) – The issues/issue names used as dictionary keys in the output

Return type:

dict[str, Any] | None

Remarks:
  • If called with a dict that is already converted, it will just return it.

  • None is converted to None

Examples

>>> from negmas import make_issue
>>> issues = [make_issue(10, "price"), make_issue(5, "quantity")]
>>> outcome2dict((3, 4), issues=issues)
{'price': 3, 'quantity': 4}

You can also use issue names without creating Issue objects >>> issues = [“price”, “quantity”] >>> outcome2dict((3, 4), issues=issues) {‘price’: 3, ‘quantity’: 4}

Trying to convert an already converted outcome does nothing >>> issues = [“price”, “quantity”] >>> outcome2dict(outcome2dict((3, 4), issues=issues), issues=issues) {‘price’: 3, ‘quantity’: 4}