A mapping object maps immutable values to
arbitrary objects. Mappings are mutable objects. There is currently
only one standard mapping type, the dictionary. A dictionary's keys are
almost arbitrary values. Only values containing lists, dictionaries
or other mutable types (that are compared by value rather than by
object identity) may not be used as keys.
Numeric types used for keys obey the normal rules for numeric
comparison: if two numbers compare equal (such as 1
and
1.0
) then they can be used interchangeably to index the same
dictionary entry.
Dictionaries are created by placing a comma-separated list of
key: value
pairs within braces, for example:
{'jack': 4098, 'sjoerd': 4127}
or
{4098: 'jack', 4127: 'sjoerd'}
.
The following operations are defined on mappings (where a and b are mappings, k is a key, and v and x are arbitrary objects):
Operation | Result | Notes |
---|---|---|
len(a) |
the number of items in a | |
a[k] |
the item of a with key k | (1) |
a[k] = v |
set a[k] to v |
|
del a[k] |
remove a[k] from a |
(1) |
a.clear() |
remove all items from a |
|
a.copy() |
a (shallow) copy of a |
|
a.has_key(k) |
True if a has a key k, else False |
|
k |
Equivalent to a.has_key(k) | (2) |
k not in a |
Equivalent to not a.has_key(k) |
(2) |
a.items() |
a copy of a's list of (key, value) pairs | (3) |
a.keys() |
a copy of a's list of keys | (3) |
a.update([b]) |
updates (and overwrites) key/value pairs from b | (9) |
a.fromkeys(seq[, value]) |
Creates a new dictionary with keys from seq and values set to value | (7) |
a.values() |
a copy of a's list of values | (3) |
a.get(k[, x]) |
a[k] if k in a ,
else x |
(4) |
a.setdefault(k[, x]) |
a[k] if k in a ,
else x (also setting it) |
(5) |
a.pop(k[, x]) |
a[k] if k in a ,
else x (and remove k) |
(8) |
a.popitem() |
remove and return an arbitrary (key, value) pair | (6) |
a.iteritems() |
return an iterator over (key, value) pairs | (2), (3) |
a.iterkeys() |
return an iterator over the mapping's keys | (2), (3) |
a.itervalues() |
return an iterator over the mapping's values | (2), (3) |
Notes:
(value, key)
pairs using zip():
"pairs = zip(a.values(), a.keys())". The same
relationship holds for the iterkeys() and
itervalues() methods: "pairs = zip(a.itervalues(),
a.iterkeys())" provides the same value for pairs
.
Another way to create the same list is "pairs = [(v, k) for (k,
v) in a.iteritems()]".
None
is returned.
None
.
New in version 2.3.
See About this document... for information on suggesting changes.