abcd wrote: > I have a class such as... [... ]
> And I am storing them in a Queue.Queue... > > import Queue > q = Queue.Queue() > q.put(Foo('blah')) > q.put(Foo('hello world')) > q.put(Foo('test')) > > how can I search "q" for an instance of Foo which has 'id' equal to say > 2? Typically a queue only lets you put and get, not really search. It's possible you're seeing the Queue structure as some sort of list / array, rather than its intended purpose as a thread-safe channel. If I'm wrong, ignore the rest of this post. If, however, you're just after a container for various instances of Foo then use a list or a dict, depending on what you're after. eg, <code> class Foo: def __init__ (self, id): self.id = id list_of_foos = [Foo('blah'), Foo('hello'), Foo('test')] dict_of_foos = dict ((f.id, f) for f in list_of_foos) print dict_of_foos['blah'] </code> TJG -- http://mail.python.org/mailman/listinfo/python-list