from functools import partial def nested_funcs(*funcs): return partial(reduce, lambda arg, func: func(arg), funcs) sorted(list_of_dicts, key=nested_funcs(itemgetter('name'), str.strip, str.lower))