Книга: PyNEng
Назад: Полезные функции
Дальше: Функция map

Функция lambda

Анонимная функция lambda

В Python выражение lambda позволяет создавать анонимные функции - функции, которые не привязаны к имени.

В анонимной функции lambda:

  • может содержаться только одно выражение
  • аргументов может передаваться сколько угодно

Стандартная функция:

In [1]: def sum_arg(a, b): return a + b  In [2]: sum_arg(1,2) Out[2]: 3 

Аналогичная анонимная функция lambda:

In [3]: sum_arg = lambda a, b: a + b  In [4]: sum_arg(1,2) Out[4]: 3 

Обратите внимание, что в определении lambda нет оператора return, так как в этой функции может быть только одно выражение, которое всегда возвращает значение и завершает работу функции.

Функцию lambda удобно использовать в выражениях, где требуется написать небольшую функцию для обработки данных.

Например, в функции sorted lambda можно использовать для указания ключа для сортировки:

In [5]: list_of_tuples = [('IT_VLAN', 320),     ...:  ('Mngmt_VLAN', 99),     ...:  ('User_VLAN', 1010),     ...:  ('DB_VLAN', 11)]  In [6]: sorted(list_of_tuples, key=lambda x: x[1]) Out[6]: [('DB_VLAN', 11), ('Mngmt_VLAN', 99), ('IT_VLAN', 320), ('User_VLAN', 1010)] 

Также функция lambda пригодится в функциях map и filter, которые будут рассматриваться в следующих разделах.

Назад: Полезные функции
Дальше: Функция map