pygsti.baseobjs.outcomelabeldict.OutcomeLabelDict#

class OutcomeLabelDict(items=None)#

Bases: OrderedDict

An ordered dictionary of outcome labels, whose keys are tuple-valued outcome labels.

This class extends an ordinary OrderedDict by implements mapping string-values single-outcome labels to 1-tuples containing that label (and vice versa), allowing the use of strings as outcomes labels from the user’s perspective.

Parameters:

items (list or dict, optional) – Initial values. Should only be used as part of de-serialization.

_strict#

Whether mapping from strings to 1-tuples is performed.

Type:

bool

Creates a new OutcomeLabelDict.

Parameters:

items (list, optional) – Used by pickle and other serializations to initialize elements.

Methods

__init__([items])

Creates a new OutcomeLabelDict.

clear()

contains_unsafe(key)

Checks for key without ensuring that it is a properly formatted outcome tuple.

copy()

Return a copy of this OutcomeLabelDict.

fromkeys([value])

Create a new ordered dictionary with keys from iterable and values set to value.

get(key, default)

Return the value for key if key is in the dictionary, else default.

getitem_unsafe(key, defaultval)

Gets an item without checking that key is a properly formatted outcome tuple.

items()

keys()

move_to_end(key[, last])

Move an existing element to the end (or beginning if last is false).

pop(key[,default])

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem([last])

Remove and return a (key, value) pair from the dictionary.

setdefault(key[, default])

Insert key with a value of default if key is not in the dictionary.

setitem_unsafe(key, val)

Sets item without checking that the key is a properly formatted outcome tuple.

to_outcome(val)

Converts string outcomes like "0" to proper outcome tuples, like ("0",).

update([E, ]**F)

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()

clear() None.  Remove all items from od.#
contains_unsafe(key)#

Checks for key without ensuring that it is a properly formatted outcome tuple.

Only use this method when you’re sure key is an outcome tuple and not, e.g., just a string.

Parameters:

key (object) – The key to retrieve.

Return type:

bool

copy()#

Return a copy of this OutcomeLabelDict.

Return type:

OutcomeLabelDict

fromkeys(value=None)#

Create a new ordered dictionary with keys from iterable and values set to value.

get(key, default)#

Return the value for key if key is in the dictionary, else default.

getitem_unsafe(key, defaultval)#

Gets an item without checking that key is a properly formatted outcome tuple.

Only use this method when you’re sure key is an outcome tuple and not, e.g., just a string.

Parameters:
  • key (object) – The key to retrieve

  • defaultval (object) – The default value to use (if the key is absent).

Return type:

object

items() a set-like object providing a view on D's items#
keys() a set-like object providing a view on D's keys#
move_to_end(key, last=True)#

Move an existing element to the end (or beginning if last is false).

Raise KeyError if the element does not exist.

pop(key[, default]) v, remove specified key and return the corresponding value.#

If the key is not found, return the default if given; otherwise, raise a KeyError.

popitem(last=True)#

Remove and return a (key, value) pair from the dictionary.

Pairs are returned in LIFO order if last is true or FIFO order if false.

setdefault(key, default=None)#

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

setitem_unsafe(key, val)#

Sets item without checking that the key is a properly formatted outcome tuple.

Only use this method when you’re sure key is an outcome tuple and not, e.g., just a string.

Parameters:
  • key (object) – The key to retrieve.

  • val (object) – the value to set.

Return type:

None

classmethod to_outcome(val)#

Converts string outcomes like “0” to proper outcome tuples, like (“0”,).

(also converts non-tuples to tuples, e.g. [“0”,”1”] to (“0”,”1”) )

Parameters:

val (str or tuple) – The value to convert into an outcome label (i.e. a tuple)

Return type:

tuple

update([E, ]**F) None.  Update D from dict/iterable E and F.#

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values() an object providing a view on D's values#