On Mon, Jun 19, 2017 at 5:27 AM, <pavlovevide...@gmail.com> wrote: > I am thinking of a list that actively maintains in its items a member that > contains the item's own index in the list. Basically, the item knows its > index into the list and the list ensures that the index remains in sync. If > the list is changed, the list updates the indices. This is a the that might > be useful in implementing observer pattern. >
With a list? No, I would say it's a bad idea. But with a dictionary, you certainly can. Consider something that loads up something based on its unique ID (which could be a number or a string or something), and then the thing itself has that ID. Very common in databasing, for instance. You can then have a lookup dictionary where you grab them from your cache, and the objects themselves have a "foo.id" attribute. The IDs are immutable and eternal, unlike list indices, and they are truly a feature of the object, so this makes a lot of sense. And it's something I've done reasonably often. ChrisA -- https://mail.python.org/mailman/listinfo/python-list