Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:19:30) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information. #lists operations and memory model >>> lst = [3,2,1] >>> lst [3, 2, 1] >>> id(lst) 54742408 >>> lst = lst + [0] >>> lst [3, 2, 1, 0] >>> id(lst) 54744584 >>> lst.append(4) >>> lst [3, 2, 1, 0, 4] >>> id(lst) 54744584 >>> lst.extend([999,999,999]) >>> lst [3, 2, 1, 0, 4, 999, 999, 999] >>> id(lst) 54744584 >>> lst.insert(1,5) >>> lst [3, 5, 2, 1, 0, 4, 999, 999, 999] >>> id(lst) 54744584 >>> lst += [8,9] >>> lst [3, 5, 2, 1, 0, 4, 999, 999, 999, 8, 9] >>> id(lst) 54744584 >>> >>> lst2 = sorted(lst) >>> lst2 [0, 1, 2, 3, 4, 5, 8, 9, 999, 999, 999] >>> lst [3, 5, 2, 1, 0, 4, 999, 999, 999, 8, 9] >>> id(lst) 54744584 >>> lst = sorted(lst) >>> id(lst) 54742408 >>> lst.sort() >>> list.sort(lst) >>> id(lst) 54742408 >>> #comparing the runtime of the codes for extending a list >>> 0.2548156610084122 0.0028551139223218502 >>> ================================ RESTART ================================ >>> 0.907778201897962 0.005138652432017943 >>> #comparing the 5 versions of integer right triangles code >>> ================================ RESTART ================================ >>> v1, p = 240 took 1.7955591590420428 secs v2, p = 240 took 0.01336807522374528 secs v3, p = 240 took 0.005547597271438054 secs v4, p = 240 took 0.001779462679638577 secs v5, p = 240 took 0.00016184110440375932 secs v1, p = 480 took 14.820079270562404 secs v2, p = 480 took 0.05204375709781672 secs v3, p = 480 took 0.02023684853527996 secs v4, p = 480 took 0.006638643155760349 secs v5, p = 480 took 0.0002613141734499891 secs >>> number_of_integer_right_triangles_v5(240) 4 >>> number_of_integer_right_triangles_v5(480) 4