def testlist(key, inputlist):
    return (key in inputlist)

def testdict(key, inputdict):
    return (key in inputdict)

def createlist(n):
    return list(range(n))

def createdict(n):
    result = {}
    i = 0
    while (i < n):
        result[i] = i
        i = i + 1
    return result

l1 = createlist(1000000)
d1 = createdict(1000000)

import timeit

def timeTestList(key, numIterations):
    testCall = "testlist({},l1)".format(key)  
    return timeit.timeit(testCall,  'from __main__ import l1, d1, testlist, testdict', number = numIterations)

def timeTestDict(key, numIterations):
    testCall = "testdict({},d1)".format(key)  
    return timeit.timeit(testCall,  'from __main__ import l1, d1, testlist, testdict', number = numIterations)


# try:
# timeTestList(100, 1000000)
# timeTestList(200, 1000000)
# timeTestList(400, 1000000)
# what about timeTestList(500000, 1000000)?
#
# timeTestList(999999, 1)
# timeTestList(999999, 10)
# timeTestList(999999, 100)
# timeTestList(1000000, 100)

# Then try
# timeTestDict(100, 1000000)
# timeTestDict(200, 1000000)
# timeTestDict(400, 1000000)
# timeTestDict(50000, 1000000)
# timeTestDict(999999, 1000000)
# timeTestDict(1000000, 1000000)

