On Fri, Jan 23, 2009 at 8:57 AM, Vicent <vgi...@gmail.com> wrote:
> A simple but maybe too wide question:
>
> When is it / isn't it useful to use dictionaries, in a Python program?
> I mean, what kind of tasks are they interesting for?

Lists are ordered, dicts are not
List indices are consecutive integers, dict keys can be any hashable
value (most often a number or string) and do not have to be
consecutive.

Dict lookup is fast, even for large dictionaries. List search is
sequential and gets slow for long lists. This can be a performance
killer, for example a common performance problem is code like this:
for item1 in very_long_list_1:
  if item1 in very_long_list_2:
    # do something with item1 that matches

This particular example is best solved with a set, not a dict, but the
performance of both is similar and sometimes a dict is the correct
solution. This will be significantly faster than the previous code:
list_2_items = set(very_long_list_2)
for item1 in very_long_list_1:
  if item1 in list_2_items:
    # do something with item1

Kent
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to