import time import gc #gc.disable() def list_of_tuples(): l = [] prev_time = time.time() for i in xrange(10000000): if i % 1000000 == 0: cur_time = time.time() print i, cur_time - prev_time prev_time = cur_time l.append((i % 2, i % 12)) def list_of_lists(): l = [] prev_time = time.time() for i in xrange(10000000): if i % 1000000 == 0: cur_time = time.time() print i, cur_time - prev_time prev_time = cur_time l.append([i % 2, i % 12]) def list_of_dicts(): l = [] prev_time = time.time() for i in xrange(10000000): if i % 1000000 == 0: cur_time = time.time() print i, cur_time - prev_time prev_time = cur_time l.append({i % 2: (i % 12,)}) #l.append({i % 2: {i: 12}}) def dict_of_tuples(): d = {} prev_time = time.time() for i in xrange(10000000): if i % 1000000 == 0: cur_time = time.time() print i, cur_time - prev_time prev_time = cur_time d[i,] = chr(i % 256), list_of_tuples()