>>> from bisect import bisect as bs >>> from pysqlite2 import dbapi2 as sqlite >>> conn = sqlite.connect("/home/dohertywa/testdata.db") >>> data = [row for row in conn.execute("""SELECT f1,f2,f3,f4,f5,f6,f7 FROM testtable WHERE strftime('%m', testdate) = strftime('%m', '0001-10-01')""")] >>> conn.close() >>> data [(4, 6, 7, 10, 19, 39, 43), (2, 5, 30, 32, 36, 37, 42), (9, 14, 22, 29, 43, 44, 46), (1, 13, 15, 18, 27, 32, 40), (2, 7, 19, 28, 31, 38, 45), (1, 2, 27, 33, 34, 42, 45), (2, 11, 22, 23, 33, 45, 46), (10, 11, 19, 20, 31, 40, 44), (5, 10, 26, 33, 42, 44, 45), (1, 11, 32, 33, 37, 45, 46), (8, 10, 12, 13, 19, 32, 42), (8, 13, 18, 21, 24, 25, 36), (8, 12, 17, 18, 28, 29, 35), (5, 7, 15, 24, 26, 38, 43), (17, 21, 23, 25, 26, 33, 47), (16, 19, 27, 34, 44, 45, 46), (10, 22, 31, 35, 40, 43, 46), (7, 15, 23, 25, 27, 37, 40), (1, 7, 19, 23, 35, 37, 45), (2, 5, 8, 11, 16, 20, 34), (7, 9, 16, 21, 27, 35, 45), (6, 14, 16, 20, 21, 23, 37), (3, 10, 16, 18, 21, 37, 47), (8, 19, 20, 23, 27, 40, 44), (5, 9, 10, 14, 32, 33, 39), (3, 4, 6, 13, 20, 34, 43), (25, 28, 29, 31, 32, 36, 45), (1, 2, 4, 12, 20, 34, 36), (6, 10, 13, 25, 27, 40, 43), (6, 14, 25, 29, 30, 36, 40), (3, 4, 5, 6, 41, 42, 45), (6, 19, 24, 25, 32, 34, 43), (5, 9, 10, 18, 20, 23, 46), (2, 3, 7, 10, 20, 24, 33), (8, 15, 16, 17, 22, 32, 39), (7, 9, 12, 22, 24, 40, 41), (3, 11, 16, 21, 36, 43, 44), (2, 16, 17, 31, 34, 36, 38), (10, 16, 18, 23, 35, 36, 46), (3, 14, 25, 31, 32, 44, 45), (3, 15, 23, 37, 38, 39, 43), (12, 22, 34, 37, 39, 43, 47), (3, 11, 23, 26, 27, 28, 31), (1, 16, 18, 21, 31, 40, 42), (7, 24, 26, 29, 34, 42, 47), (3, 4, 9, 18, 29, 34, 44), (3, 7, 14, 15, 20, 30, 46), (1, 8, 13, 23, 29, 31, 41), (14, 15, 21, 34, 36, 42, 44), (21, 23, 25, 26, 39, 41, 45), (8, 10, 18, 19, 26, 35, 42), (10, 15, 25, 30, 33, 40, 44), (2, 21, 23, 27, 29, 33, 41), (10, 16, 23, 24, 27, 33, 46), (9, 15, 33, 34, 38, 41, 44), (3, 5, 13, 19, 26, 35, 41), (8, 21, 29, 35, 38, 41, 46), (5, 20, 21, 23, 32, 40, 42), (3, 7, 27, 29, 38, 40, 43)] >>> dp = dict.fromkeys(xrange(1,48),dict.fromkeys(xrange(1,8),0)) #a dictionary whose values are dictionaries whose values are 0. >>> dp {1: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 2: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 3: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 4: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 5: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 6: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 7: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 8: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 9: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 10: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 11: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 12: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 13: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 14: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 15: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 16: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 17: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 18: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 19: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 20: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 21: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 22: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 23: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 24: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 25: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 26: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 27: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 28: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 29: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 30: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 31: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 32: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 33: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 34: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 35: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 36: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 37: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 38: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 39: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 40: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 41: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 42: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 43: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 44: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 45: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 46: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 47: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}} >>> dp_2 = {} >>> for x in xrange(1,48): dp_2[x] = dict.fromkeys(xrange(1,8),0) #same as above to show that both methods result in the same result. >>> dp_2 {1: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 2: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 3: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 4: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 5: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 6: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 7: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 8: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 9: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 10: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 11: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 12: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 13: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 14: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 15: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 16: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 17: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 18: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 19: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 20: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 21: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 22: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 23: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 24: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 25: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 26: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 27: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 28: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 29: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 30: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 31: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 32: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 33: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 34: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 35: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 36: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 37: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 38: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 39: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 40: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 41: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 42: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 43: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 44: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 45: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 46: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 47: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}} >>> for x in xrange(1,48): for row in data: if x in row: dp[x][bs(row,x)] += 1 dp_2[x][bs(row,x)] += 1 #here we test for the presence of a value in each row of data and if present it's position in the row is determined using bisection. Each time the value is found in that position it's value in the matching position dictionary is increased by one. >>> dp {1: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 2: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 3: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 4: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 5: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 6: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 7: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 8: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 9: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 10: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 11: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 12: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 13: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 14: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 15: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 16: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 17: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 18: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 19: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 20: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 21: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 22: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 23: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 24: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 25: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 26: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 27: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 28: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 29: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 30: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 31: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 32: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 33: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 34: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 35: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 36: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 37: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 38: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 39: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 40: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 41: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 42: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 43: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 44: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 45: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 46: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}, 47: {1: 59, 2: 59, 3: 59, 4: 59, 5: 59, 6: 59, 7: 59}} #above 59 is shown as the number of occurrences in that position. 59 is the number of rows in the list of data. This is not the expected result. >>> dp_2 {1: {1: 7, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 2: {1: 7, 2: 2, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 3: {1: 11, 2: 1, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0}, 4: {1: 1, 2: 3, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, 5: {1: 5, 2: 3, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, 6: {1: 4, 2: 1, 3: 1, 4: 1, 5: 0, 6: 0, 7: 0}, 7: {1: 4, 2: 5, 3: 2, 4: 0, 5: 0, 6: 0, 7: 0}, 8: {1: 7, 2: 1, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, 9: {1: 2, 2: 4, 3: 1, 4: 0, 5: 0, 6: 0, 7: 0}, 10: {1: 5, 2: 5, 3: 2, 4: 2, 5: 0, 6: 0, 7: 0}, 11: {1: 0, 2: 5, 3: 0, 4: 1, 5: 0, 6: 0, 7: 0}, 12: {1: 1, 2: 1, 3: 2, 4: 1, 5: 0, 6: 0, 7: 0}, 13: {1: 0, 2: 2, 3: 3, 4: 2, 5: 0, 6: 0, 7: 0}, 14: {1: 1, 2: 4, 3: 1, 4: 1, 5: 0, 6: 0, 7: 0}, 15: {1: 0, 2: 6, 3: 2, 4: 1, 5: 0, 6: 0, 7: 0}, 16: {1: 1, 2: 4, 3: 5, 4: 0, 5: 1, 6: 0, 7: 0}, 17: {1: 1, 2: 0, 3: 2, 4: 1, 5: 0, 6: 0, 7: 0}, 18: {1: 0, 2: 0, 3: 4, 4: 5, 5: 0, 6: 0, 7: 0}, 19: {1: 0, 2: 3, 3: 3, 4: 2, 5: 2, 6: 0, 7: 0}, 20: {1: 0, 2: 1, 3: 1, 4: 2, 5: 5, 6: 1, 7: 0}, 21: {1: 1, 2: 3, 3: 2, 4: 4, 5: 2, 6: 0, 7: 0}, 22: {1: 0, 2: 2, 3: 2, 4: 1, 5: 1, 6: 0, 7: 0}, 23: {1: 0, 2: 1, 3: 6, 4: 6, 5: 0, 6: 2, 7: 0}, 24: {1: 0, 2: 1, 3: 1, 4: 2, 5: 2, 6: 1, 7: 0}, 25: {1: 1, 2: 0, 3: 4, 4: 4, 5: 0, 6: 1, 7: 0}, 26: {1: 0, 2: 0, 3: 2, 4: 2, 5: 4, 6: 0, 7: 0}, 27: {1: 0, 2: 0, 3: 3, 4: 1, 5: 7, 6: 0, 7: 0}, 28: {1: 0, 2: 1, 3: 0, 4: 1, 5: 1, 6: 1, 7: 0}, 29: {1: 0, 2: 0, 3: 2, 4: 4, 5: 3, 6: 1, 7: 0}, 30: {1: 0, 2: 0, 3: 1, 4: 1, 5: 1, 6: 1, 7: 0}, 31: {1: 0, 2: 0, 3: 1, 4: 3, 5: 3, 6: 1, 7: 1}, 32: {1: 0, 2: 0, 3: 1, 4: 1, 5: 5, 6: 3, 7: 0}, 33: {1: 0, 2: 0, 3: 1, 4: 3, 5: 2, 6: 4, 7: 1}, 34: {1: 0, 2: 0, 3: 1, 4: 3, 5: 3, 6: 4, 7: 1}, 35: {1: 0, 2: 0, 3: 0, 4: 2, 5: 2, 6: 3, 7: 1}, 36: {1: 0, 2: 0, 3: 0, 4: 0, 5: 3, 6: 4, 7: 2}, 37: {1: 0, 2: 0, 3: 0, 4: 2, 5: 1, 6: 4, 7: 1}, 38: {1: 0, 2: 0, 3: 0, 4: 0, 5: 4, 6: 2, 7: 1}, 39: {1: 0, 2: 0, 3: 0, 4: 0, 5: 2, 6: 2, 7: 2}, 40: {1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 8, 7: 3}, 41: {1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 3, 7: 4}, 42: {1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 4, 7: 5}, 43: {1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 3, 7: 7}, 44: {1: 0, 2: 0, 3: 0, 4: 0, 5: 1, 6: 3, 7: 7}, 45: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 3, 7: 9}, 46: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 10}, 47: {1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 4}} #above is the expected result >>>