#!/usr/local/bin/python # $Id: lists.python,v 1.7 2001/05/09 01:09:04 doug Exp $ # http://www.bagley.org/~doug/shootout/ # with improvements from Mark Baker import sys SIZE = 10000 def test_lists(): Li1 = range(1, SIZE + 1) Li2 = Li1[:] Li3 = [] # remove each individual item from left side of Li2 and # append to right side of Li3 (preserving order) # # popping the first element is *expensive* # #while Li2: # Li3.append(Li2.pop(0)) Li2.reverse() while Li2: Li3.append(Li2.pop()) while Li3: Li2.append(Li3.pop()) Li1.reverse() if Li1[0] != SIZE: return 0 if Li1 == Li2: return len(Li1) else: return 0 def main(): NUM = int(sys.argv[1]) if NUM < 1: NUM = 1 while NUM > 0: result = test_lists() NUM = NUM - 1 print result main()