AW: [Python-de] Funktionale Denksportaufgabe

Gerson Kurz Gerson.Kurz at t-online.de
Sat Sep 28 21:08:11 EDT 2002


Gregor Lingl schrieb

> Was bringt in der Definition von h der Aufruf von  len(s) im Vergleich
> zu s selbst?

vermutlich nix, es war halt ein kleiner hack. Eine ausführlichere
Zeitvergeudung mit Lambda, wenn auch in Englisch:

http://p-nand-q.com/e/quicksort_lambda.html

schafft es, aus dem hier

http://www.hetland.org/python/quicksort.html

das hier

q = lambda l,s,e:s<e and (lambda p:(q(l,s,p-1),q(l,p+1,e)))((lambda
o=[l[e],s-1,e,0,0,0,0,0,0]:\
    (o.__setitem__(6,lambda: (o.__setitem__(4,0),o.__setitem__(5,lambda:(not
o[4] and not o[3])\
    and ((lambda:(o.__setitem__(1,o[1]+1),(o[1]==o[2]) and
(o.__setitem__(3,1),o.__setitem__(4,\
    1)) or (l[o[1]]>o[0] and
(l.__setitem__(o[2],l[o[1]]),o.__setitem__(4,1)))))(),o[5]())),\

o[5]())),o.__setitem__(7,lambda:(o.__setitem__(4,0),o.__setitem__(5,lambda:(
not o[4] and\
    not o[3]) and (o.__setitem__(2,o[2]-1),(o[2]==o[1]) and
(o.__setitem__(3,1),o.__setitem__\
    (4,1)) or (l[o[2]]<o[0] and
(l.__setitem__(o[1],l[o[2]]),o.__setitem__(4,1))),o[5]())),\
    o[5]())),o.__setitem__(8,lambda:not o[3] and
(o[6](),o[7](),o[8]())),o[8](),l.__setitem__(\
    o[2],o[0]),o[2])[-1])())

quicksort = q

zu machen (mit erläuterung) :)





More information about the Python-de mailing list