I have a list of objects in python that I would regularly check and destroy some of them - those which haven't been accessed lately (i.e. no method was called). 
I can maintain the last time accessed and update it in every method, but is there any more elegant way to achieve this?
If you are using python 3.2 then have a look at functions.lru_cache() and see if that does what you want. It won't give you a last modified time, but it will do the cleanup of unused object.
For older versions it might provide the pattern you want to use but you'll have to provide the code.
What's the most elegant way of keeping track of the last time a python object is accessed?