Питхон

Питхон Ламбда

Питхон Ламбда

У овом чланку ћемо покушати да научимо о Питхон Ламбди.

Дефиниција

Ламбда је функција дефинисана без имена. Ово може потрајати више аргумената, али дозвољен је само један израз који се процењује и враћа. Тамо где су потребни објекти функције, можемо користити ламбда функцију.

Синтакса:
ламбда аргументи: израз

Пример 1: Функција у наставку се користи за израчунавање коцке броја.

деф коцка (а):
врати а * а * а
принт (коцка (3))

Горња функција се може написати помоћу ламбда, као што је приказано доле:

п = ламбда к: к * к * к
испис (п (3))

Пример 2: Функција у наставку се користи за израчунавање збира два броја.

деф сум_2 (к, и):
повратак к + и
испис (збир_2 (10,20))

Горња функција се може написати помоћу ламбда, као што је приказано доле:

п = ламбда к, и: к + и
испис (п (10,20))

Пример 3: Следећи пример за ламбда узима више аргумената.

п = ламбда к, и, з: к + и + з
испис (п (10, 5, 3))

Пример 4: Ова функција множи број са 2 и може се записати помоћу Ламбда функције као што је приказано доле:

деф фунц (н):
врати ламбда к: к * н
мултипли_би_2 = фунц (2)
испис (множење_би_2 (11))
испис (мултипли_би_2 (15))

Пример 5: Функција узима функцију као аргумент и враћа резултат.

фунцтион_аргумент = ламбда п, ф: п + ф (п)
испис (аргумент_функције (5, ламбда п: п * п))
испис (аргумент_функције (10, ламбда к: к - 3))
испис (аргумент_функције (10, ламбда к: к + 5))
испис (аргумент_функције (10, ламбда к: к / 5))

Пример 6: У примеру испод, ламбда се користи за сортирање вредности.

# (име, презиме, старост)
подаци = [("Сацхин", "Тендулкар", "42"), ("Рахул", "Дравид", "44"), ("Вирендра", "Сехваг", "40")]
подаци.сортирање (кључ = ламбда к: к [0]) # сортирање на основу имена
испис (подаци)
подаци = [("Сацхин", "Тендулкар", "42"), ("Рахул", "Дравид", "44"), ("Вирендра", "Сехваг", "40")]
подаци.сортирати (кључ = ламбда к: к [1]) # сортирати на основу презимена
испис (подаци)
подаци = [("Сацхин", "Тендулкар", "42"), ("Рахул", "Дравид", "44"), ("Вирендра", "Сехваг", "40")]
подаци.сортирај (кључ = ламбда к: к [2]) # сортирај на основу старости
испис (подаци)

Сада идите на питхон3 интерпретер.

Ламбда функција се користи у многим уграђеним методама. Следе неки примери:

1. Мапа

Ова функција мапира сваки елемент у низу помоћу ламбда функције.

Синтакса:
мапа (функција, сек)

Пример:
нумс = [1,2,3,4,5,6]
Овде ћемо помножити сваки елемент на листи са 2.
мул_2 = мапа (ламбда к: к * 2, бројеви)
принт (лист (мул_2)) # Враћа објект мапе и откуцава га као списак.

У горњој функцији, сваки елемент листе се преноси ламбда функцији и ламбда функција ће га помножити са 2.

нумс = [1,2,3,4,5,6]
мул_2 = мапа (ламбда к: к * 2, бројеви)
испис (листа (мул_2))

2. Филтер

Ова функција филтрира све елементе листе за које ламбда функција враћа Труе.

Синтакса:
филтер (функција, сек)

Пример:
бројеви = [0,1,2,3,4,5,6,7,8,9,10]
одд_нумс = филтер (ламбда к: к% 2, бројеви)
принт (лист (одд_нумс)) # Враћа објект мапе и куца га као списак.

бројеви = [0,1,2,3,4,5,6,7,8,9,10]
одд_нумс = филтер (ламбда к: к% 2, бројеви)
испис (листа (непарни бројеви))

3. Смањите

Ова функција враћа једну вредност применом функције фунц () на сек.

Синтакса:
смањити (фунц, сек)

Пример:
бројеви = [0,1,2,3,4,5,6,7,8,9,10]
вредност = смањити (ламбда к, и: к + и, бројеви)
испис (вредност)

На горњој листи ће узети прва 2 елемента и извршити сабирање. Резултат сабирања додаће се трећем елементу и тако даље. Коначно, вратиће једну вредност.

Напомена: Овај метод није доступан у верзији питхон3 +.

бројеви = [0,1,2,3,4,5,6,7,8,9,10]
вредност = смањити (ламбда к, и: к + и, бројеви)
испис (вредност)

Закључак

Из овог чланка научили смо многе аспекте ламбда функције. У зависности од тога шта је програму потребно, можемо га користити и побољшати питхон кодирање. Ово се најчешће користи за прослеђивање аргумената другој функцији (на пример, видели смо горе функције како мапирају, филтрирају и смањују).

Како се користи ГамеЦонкуерор Цхеат Енгине у Линуку
Чланак покрива водич о коришћењу ГамеЦонкуерор варалице у Линуку. Многи корисници који играју игре на Виндовс-у често користе апликацију „Цхеат Енгине...
Најбољи емулатори играће конзоле за Линук
Овај чланак ће навести популарни софтвер за емулацију играће конзоле доступан за Линук. Емулација је слој компатибилности софтвера који опонаша хардве...
Најбољи Линук Дистрос за игре у 2021
Линук оперативни систем далеко је превалио свој изворни, једноставни изглед заснован на серверима. Овај ОС се изузетно побољшао последњих година и сад...