Если вам не нравится lambda
, вы можете использовать именованную функцию в качестве экстрактора ключей, например:
def sortProfiles(p):
def lowerName(d):
return d['first_name'].lower()
return sorted(p, key=lowerName)
Оператор def
может появляться практически везде, где мог бы другой оператор, в том числе в теле другой функции. В этом случае выбор между вложенным def
, lambda
или отдельным def
за пределами sortProfiles
в основном зависит от стиля, хотя последний из них может обеспечить некоторое повышение производительности. *