GNU Info

Info Node: (python2.1-tut.info)Dictionaries

(python2.1-tut.info)Dictionaries


Next: More on Conditions Prev: Tuples and Sequences Up: Data Structures
Enter node , (file) or (file)node

Dictionaries
============

Another useful data type built into Python is the _dictionary_.
Dictionaries are sometimes found in other languages as "associative
memories" or "associative arrays".  Unlike sequences, which are indexed
by a range of numbers, dictionaries are indexed by _keys_, which can be
any immutable type; strings and numbers can always be keys.  Tuples can
be used as keys if they contain only strings, numbers, or tuples; if a
tuple contains any mutable object either directly or indirectly, it
cannot be used as a key.  You can't use lists as keys, since lists can
be modified in place using their `append()' and `extend()' methods, as
well as slice and indexed assignments.

It is best to think of a dictionary as an unordered set of _key: value_
pairs, with the requirement that the keys are unique (within one
dictionary).  A pair of braces creates an empty dictionary: `{}'.
Placing a comma-separated list of key:value pairs within the braces
adds initial key:value pairs to the dictionary; this is also the way
dictionaries are written on output.

The main operations on a dictionary are storing a value with some key
and extracting the value given the key.  It is also possible to delete
a key:value pair with `del'.  If you store using a key that is already
in use, the old value associated with that key is forgotten.  It is an
error to extract a value using a non-existent key.

The `keys()' method of a dictionary object returns a list of all the
keys used in the dictionary, in random order (if you want it sorted,
just apply the `sort()' method to the list of keys).  To check whether
a single key is in the dictionary, use the `has_key()' method of the
dictionary.

Here is a small example using a dictionary:

     >>> tel = {'jack': 4098, 'sape': 4139}
     >>> tel['guido'] = 4127
     >>> tel
     {'sape': 4139, 'guido': 4127, 'jack': 4098}
     >>> tel['jack']
     4098
     >>> del tel['sape']
     >>> tel['irv'] = 4127
     >>> tel
     {'guido': 4127, 'irv': 4127, 'jack': 4098}
     >>> tel.keys()
     ['guido', 'irv', 'jack']
     >>> tel.has_key('guido')
     1


automatically generated by info2www version 1.2.2.9