ho molto spesso scrivere codice come:funtori Trivial
sorted(some_dict.items(), key=lambda x: x[1])
sorted(list_of_dicts, key=lambda x: x['age'])
map(lambda x: x.name, rows)
dove vorrei scrivere:
sorted(some_dict.items(), key=idx_f(1))
sorted(list_of_dicts, key=idx_f('name'))
map(attr_f('name'), rows)
utilizzando:
def attr_f(field):
return lambda x: getattr(x, field)
def idx_f(field):
return lambda x: x[field]
Ci sono functor-creatori come idx_f e attr_f in python, e sono più chiari se usati rispetto a lambda?
grande! Ricordo di aver usato in questo modo, ma non sono riuscito a trovarli su Google. – Herbert