Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a set of lists.

These lists contain two dimensional coordinates of natural numbers. So a list can be

 list1 = {{1, 1}, {1, 2}, {3, 4}} 
 list2 = {{3, 6}, {5, 5}}.  

In each step of the calculation a list can disappear, can grow, can diminish, new lists can appear and so on.

I want for some points, elements of the lists, say for example {3, 3} to do bookkeeping to see in which list it is contained in every step of the calculation.

It can be contained in one and only one list or in no list at all.

So I want to do bookkeeping for {3, 3} in the sense that I want to know exactly at every step in which list it is contained.

For example

bookkeeping[ {3, 3}] = {list2, list5, list3, none} 

which says that at the first step {3, 3} is in list2, at the second step {3, 3} is in list5, at the third step {3, 3} is in list3 an at the last step it is in none of the lists.

I have not the faintest idea how to do it.

Should I define a bookkeeping[] function with downvalues? Or what is an elegant way to deal with it?

What is the most elegant data structure I can use for such kind of bookkeeping?

share|improve this question

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.