Counts
class Counts(data, time_taken=None, creg_sizes=None, memory_slots=None)
Bases: dict
A class to store a counts result from a circuit execution.
Build a counts object
Parameters
-
data (dict) –
The dictionary input for the counts. Where the keys represent a measured classical value and the value is an integer the number of shots with that result. The keys can be one of several formats:
- A hexadecimal string of the form
"0x4a"
- A bit string prefixed with
0b
for example'0b1011'
- A bit string formatted across register and memory slots. For example,
'00 10'
. - A dit string, for example
'02'
. Note for objects created with dit strings thecreg_sizes``and ``memory_slots
kwargs don’t work andhex_outcomes()
andint_outcomes()
also do not work.
- A hexadecimal string of the form
-
time_taken (float) – The duration of the experiment that generated the counts
-
creg_sizes (list) – a nested list where the inner element is a list of tuples containing both the classical register name and classical register size. For example,
[('c_reg', 2), ('my_creg', 4)]
. -
memory_slots (int) – The number of total
memory_slots
in the experiment.
Raises
- TypeError – If the input key type is not an int or string
- QiskitError – If a dit string key is input with creg_sizes and/or memory_slots
Methods
clear
Counts.clear() → None. Remove all items from D.
copy
Counts.copy() → a shallow copy of D
fromkeys
Counts.fromkeys(value=None, /)
Create a new dictionary with keys from iterable and values set to value.
get
Counts.get(key, default=None, /)
Return the value for key if key is in the dictionary, else default.
hex_outcomes
Counts.hex_outcomes()
Return a counts dictionary with hexadecimal string keys
Returns
A dictionary with the keys as hexadecimal strings instead of
bitstrings
Return type
dict
Raises
QiskitError – If the Counts object contains counts for dit strings
int_outcomes
Counts.int_outcomes()
Build a counts dictionary with integer keys instead of count strings
Returns
A dictionary with the keys as integers instead of bitstrings
Return type
dict
Raises
QiskitError – If the Counts object contains counts for dit strings
items
Counts.items() → a set-like object providing a view on D’s items
keys
Counts.keys() → a set-like object providing a view on D’s keys
most_frequent
Counts.most_frequent()
Return the most frequent count
Returns
The bit string for the most frequent result
Return type
str
Raises
QiskitError – when there is >1 count with the same max counts, or an empty object.
pop
Counts.pop(k[, d]) → v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised
popitem
Counts.popitem() → (k, v), remove and return some (key, value) pair as a
2-tuple; but raise KeyError if D is empty.
setdefault
Counts.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.
update
Counts.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
Counts.values() → an object providing a view on D’s values
Attributes
bitstring_regex
Default value: re.compile('^[01\\s]+$')