#!/usr/local/bin/python2 from collections import OrderedDict class C(object): name = 0 l = [C(), C(), C(), C(), C(), C(), C(), C(), C(), C()] for i in xrange(1000000): m = {} n = [] n_append = n.append c = [] c_append = c.append for j in l: if j.name not in m: m[j.name] = j n_append(j.name) c_append(j) print m, n, c