import time # For small n, appending increases runtime every once a while #n=10 # For large n, insertion takes much longer than appending n=10000000 new_item = 5 # Some number # Three lists [0,...,9] mylist1 = range(n) mylist2 = range(n) mylist3 = range(n) for i in range(50): # Replace value at index 3. List length stays the same. start1 = time.clock() mylist1[3]=new_item end1 = time.clock() # Append new value at end. List length increases. start2 = time.clock() mylist2.append(new_item) end2 =time.clock() # Insert new value at index 3. List length increases start3 = time.clock() mylist3.insert(3,new_item) end3 =time.clock() print i, "Replace: ", end1-start1,"\tAppend: ",end2-start2, print "\t Insert: ", end3-start3