Nico Grubert wrote: >> Er, that should have been mylist.sort(key = lambda d: >> d['title'].lower()) of course. > > > Thanks a lot for the tip, chris. > Unfortunately, I only have Python 2.3.5 installed and can't upgrade to > 2.4 due to an underliying application server. > > In python 2.3 the 'sort()' function does not excepts any keywords > arguments (TypeError: sort() takes no keyword arguments), so is there a > workaround?
There is a technique called decorate-sort-undecorate: >>> def sorted(items, key): ... decorated = [(key(item), index, item) for index, item in enumerate(items)] ... decorated.sort() ... return [item[2] for item in decorated] ... >>> items = "Atem Äther ähnlich anders".split() >>> print " ".join(sorted(items, key=lambda s: s.lower())) anders Atem Äther ähnlich >>> print " ".join(sorted(items, key=lambda s: locale.strxfrm(s))) ähnlich anders Atem Äther The above may run on 2.3, but I actually ran it on 2.6. Peter -- http://mail.python.org/mailman/listinfo/python-list