Question: I have a multi-dimensional list as like below

```
multilist = [[1,2],[3,4,5],[3,4,5],[5,6],[5,6],[5,6]]

```

How can I get below results fast:

```
[1,2]: count 1 times
[3,4,5]: count 2 times
[5,6]: count 3 times

```

and also get the unique multi-dimensional list (remove duplicates) :

```
multi_list = [[1,2],[3,4,5],[5,6]]

```

Thanks a lot.

Answer: 
If you want to guarantee that the order of the unique items is the same as in the original list, you could do something like:

```
>>> class Seen(set):
...     def __contains__(self, item):
...         res = super(Seen, self).__contains__(item)
...         self.add(item)
...         return res
...
>>> seen = Seen()
>>> [item for item in multilist if tuple(item) not in seen]
[[1, 2], [3, 4, 5], [5, 6]]
>>>

```
You can use a dictionary for this

```
count_data = {}

for my_list in multilist:
    count_data.setdefault(tuple(my_list), 0)
    count_data[tuple(my_list)] += 1

```