#Most of these code are picked from web, you can run them on python 2.4, enjoy it! # First N Fibonacci numbers print map(lambda x,f=lambda x,f: int(x<=1) or (f(x-1,f)+f(x-2,f)): f(x,f),range(N)) # Mandelbrot set(which can be either written in one line) print (lambda Ru,Ro,Iu,Io,IM,Sx,Sy:reduce(lambda x,y:x+y,map(lambda y, Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,Sy=Sy,L=lambda yc,Iu=Iu,Io=Io,Ru=Ru,Ro=Ro,i=IM, Sx=Sx,Sy=Sy:reduce(lambda x,y:x+y,map(lambda x,xc=Ru,yc=yc,Ru=Ru,Ro=Ro, i=i,Sx=Sx,F=lambda xc,yc,x,y,k,f=lambda xc,yc,x,y,k,f:(k<=0)or (x*x+y*y >=4.0) or 1+f(xc,yc,x*x-y*y+xc,2.0*x*y+yc,k-1,f):f(xc,yc,x,y,k,f):chr( 64+F(Ru+x*(Ro-Ru)/Sx,yc,0,0,i)),range(Sx))):L(Iu+y*(Io-Iu)/Sy),range(Sy ))))(-2.1, 0.7, -1.2, 1.2, 30, 80, 24) # \___ ___/ \___ ___/ | | |__ lines on screen # V V | |______ columns on screen # | | |__________ maximum of "iterations" # | |_________________ range on y axis # |____________________________ range on x axis #Prime numbers not greater than n sieve = lambda n : reduce(lambda l,y:not 0 in map(lambda x:y % x, l) and l+[y] or l,xrange(2, n + 1), [] ) #Factorial f = lambda n: reduce(lambda x, y: x * y, range(1, n + 1)) qsort = lambda lst, qsort = lambda lst, qsort:\ 1 < len(lst) \ and qsort(filter(lambda x, y = lst[0]: x < y, lst[1:]), qsort)\ + lst[0 : 1] \ + qsort(filter(lambda x, y = lst[0]:x >= y, lst[1:]), qsort) \ or lst:\ qsort(lst, qsort) lst = [ 1, 2, 5, -3, -54, 9, 234, -1002389] print qsort(lst) #"Don't try this at home, kids!"