2006-04-30から1日間の記事一覧

組み込み関数filter

リストの内包表記と同じようなことをやるfilterという関数があるそうです。 def qsort(l): print l if len(l) <= 1: return l return qsort(filter(lambda x: x < l[0], l[1:])) \ + l[0:1] \ + qsort(filter(lambda x: x >= l[0], l[1:]))

クィックソート

Haskellっぽくクィックソートを書いてみました。リストの内包表記って便利。 def qsort(l): if len(l) <= 1: return l return qsort([ x for x in l[1:] if x < l[0] ]) \ + l[0:1] \ + qsort([ x for x in l[1:] if x >= l[0] ])