Лямбда Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: Лямбда (символ) | это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Лямбда (символ)?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Лямбда-функция Π² Python простыми словами / Π₯Π°Π±Ρ€

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π²Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ «лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΒ». Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅, ΠΊΠ°ΠΊΠΎΠ² ΠΈΡ… синтаксис ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ( с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ).

Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция бСзымянна. Как извСстно, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слов def ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Python для опрСдСлСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово  lambda  ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Лямбда-функция ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис.

Lambda Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ вычисляСтся ΠΈ возвращаСтся. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ трСбуСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-функция.

1.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

НиТС прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ,  ΡƒΠ΄Π²Π°ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

double = lambda x: x*2
print(double(5))

Π’Ρ‹Π²ΠΎΠ΄:

10

Π’ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ lambda x: x*2 β€” это лямбда-функция. Π—Π΄Π΅ΡΡŒ x β€” это Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, Π° x*2 β€” это Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ вычисляСтся ΠΈ возвращаСтся.

Π­Ρ‚Π° функция бСзымянная. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ double. БСйчас ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ:

double = lambda x: x*2

Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½Π°:

def double(x):
		return x * 2
  • Π­Ρ‚Π° функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ вычисляСт ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

  • Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ 

  • Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ  синтаксичСски лямбда-функция ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, позволяСт ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всСго ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

  • Они ΠΈΠΌΠ΅ΡŽΡ‚ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² примСнСния Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… областях программирования, наряду  Ρ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² функциях.

2. Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΈ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ (Def) для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ lambdaβ€”Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΠΊΡƒΠ±:

def defined_cube(y):
    return y*y*y
lambda_cube = lambda y: y*y*y
print(defined_cube(2))
print(lambda_cube(2))

Π’Ρ‹Π²ΠΎΠ΄:

8
8

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅, ΠΎΠ±Π΅ прСдставлСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, defined_cube() ΠΈ  lambda_cube(), Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡŒ.

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:

  • Π‘Π΅Π· использования лямбды: Π—Π΄Π΅ΡΡŒ ΠΎΠ±Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² ΠΊΡƒΠ±. Но ΠΏΡ€ΠΈ использовании

    def, Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ defined_cube() Π΄Π°Ρ‚ΡŒ Π΅ΠΉ Π²Ρ…ΠΎΠ΄Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ.  ПослС выполнСния Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ понадобилось Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ мСста, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ‹Π»Π° Π²Ρ‹Π·Π²Π°Π½Π° функция, ΠΈ ΠΌΡ‹ сдСлали это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово return.

  • Π‘ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ лямбды: ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ лямбды Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ return, Π° всСгда содСрТит Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ лямбды Π² любоС мСсто, Π³Π΄Π΅ оТидаСтся функция, ΠΈ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’Π°ΠΊ выглядят простыС лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

3. Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅Π½Π°Π΄ΠΎΠ»Π³ΠΎ трСбуСтся бСзымянная функция.

Π’ Python ΠΌΡ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΡ… ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²).  Π›ΡΠΌΠ±Π΄Π°-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ вмСстС с Ρ‚Π°ΠΊΠΈΠΌΠΈ встроСнными функциями ΠΊΠ°ΠΊ filter()map(),reduce() ΠΈ Π΄Ρ€.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Ρ‰Π΅ нСсколько распространСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

3.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с filter()

Ѐункция filter() Π² Python ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ список .

Ѐункция вызываСтся со всСми элСмСнтами Π² спискС, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ возвращаСтся Π½ΠΎΠ²Ρ‹ΠΉ список, содСрТащий элСмСнты, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… функция Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²

True.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter() Π΄Π»Ρ ΠΎΡ‚Π±ΠΎΡ€Π° Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл ΠΈΠ· списка.

my_list = [1, 3, 4, 6, 10, 11, 15, 12, 14]
new_list = list(filter(lambda x: (x%2 == 0) , my_list))
print(new_list)

Π’Ρ‹Π²ΠΎΠ΄:

[4, 6, 10, 12, 14]

3.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с map()

Ѐункция map() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ список.

Ѐункция вызываСтся со всСми элСмСнтами Π² спискС, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ возвращаСтся Π½ΠΎΠ²Ρ‹ΠΉ список, содСрТащий элСмСнты, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ исходного ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°.

НиТС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ map() Π΄Π»Ρ удвоСния всСх элСмСнтов списка.

current_list = [1, 3, 4, 6, 10, 11, 15, 12, 14]
new_list = list(map(lambda x: x*2 , current_list))
print(new_list)

Π’Ρ‹Π²ΠΎΠ΄:

[2, 6, 8, 12, 20, 22, 30, 24, 28]

3.3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с reduce()

Ѐункция reduce() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ список. Ѐункция вызываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°  ΠΈ возвращаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’Π°ΠΊ выполняСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π°ΡΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ ΠΏΠ°Ρ€Π°ΠΌΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Ѐункция reduce() Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав модуля functools.

from functools import reduce
current_list = [5, 15, 20, 30, 50, 55, 75, 60, 70]
summa = reduce((lambda x, y: x + y), current_list)
print(summa)

Π’Ρ‹Π²ΠΎΠ΄:

380

Π—Π΄Π΅ΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… элСмСнтов ΡΡƒΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ со  ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом, ΠΈ это продолТаСтся Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

5+15+20+30+50+55+75+60+70

4. Лямбда ΠΈ  списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ со списковым Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ

for. ΠœΡ‹ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½Π° экран  Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΠ· 10 элСмСнтов.

tables = [lambda x = x: x*10 for x in range(1, 11)]
for table in tables:
    print(table())

Π’Ρ‹Π²ΠΎΠ΄:

10
20
30
40
50
60
70
80
90
100

5. Лямбда ΠΈ условныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим использованиС условий if-else Π² лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Python позволяСт Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ однострочныС условия, ΠΈ  ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

НапримСр, Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, какая ΠΈΠ· Π½ΠΈΡ… прСдставляСт наибольшСС число.

max_number = lambda a, b: a if a > b else b
print(max_number(3, 5))

Π’Ρ‹Π²ΠΎΠ΄:

5

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт Π²Π°ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ условия Π² лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

6. Лямбда ΠΈ мноТСствСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π΅ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΡƒΡŽ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° для ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π½Π°ΠΉΡ‚ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ элСмСнт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ лямбду.

current_list = [[10,6,9],[0, 14, 16, 80],[8, 12, 30, 44]]
sorted_list = lambda x: (sorted(i) for i in x)
second_largest = lambda x, func: [y[len(y)-2] for y in func(x)]
result = second_largest(current_list, sorted_list)
print(result)

Π’Ρ‹Π²ΠΎΠ΄:

[9, 16, 30]

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΌΡ‹ создали лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая сортируСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ спискС. Π—Π°Ρ‚Π΅ΠΌ этот список ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для Π²Ρ‚ΠΎΡ€ΠΎΠΉ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт n-2 ΠΈΠ· отсортированного списка, Π³Π΄Π΅  n β€” Π΄Π»ΠΈΠ½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ списка.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Python lambda-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅:

  • ΠŸΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

  • Π Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΈ лямбда-функциями Π² Python.

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лямбды с функциями Π²Ρ‹ΡΡˆΠ΅Π³ΠΎ порядка ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ функциями.

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лямбды с абстракциями списков.

  • Π”ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ условия ΠΊ лямбда-функциям.

Π”Π°Ρ‚Ρ‡ΠΈΠΊ состава смСси UEGO X-Series (ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ, ΡˆΠΈΡ€ΠΎΠΊΠΎΠΏΠΎΠ»ΠΎΡΠ½Ρ‹ΠΉ лямбда Π·ΠΎΠ½Π΄) Bosch 4,9 LSU 30-0300, AEM

AEM UEGO X-Series : самый быстрый ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ лямбда Π·ΠΎΠ½Π΄ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚. АмСриканский Π±Ρ€Π΅Π½Π΄ AEM Π½Π΅ нуТдаСтся Π² прСдставлСнии. Он Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌ всСм, ΠΊΡ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ автоспорту ΠΈ Ρ‚ΡŽΠ½ΠΈΠ½Π³Ρƒ. AEM UEGO X-Series – это Π»ΡƒΡ‡ΡˆΠ°Ρ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΏΠΎΠ»ΠΎΡΠ½Π°Ρ лямбда с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ дисплССм Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ AEM, ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π»ΡƒΡ‡ΡˆΠ°Ρ Π² ΠΌΠΈΡ€Π΅.

Π­Ρ‚ΠΎ смСлоС ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ основываСтся Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… нСзависимых тСстов ΠΎΡ‚ 31 августа 2015 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈ сравнСнии 17 Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΎΡ‚ амСриканских, японских ΠΈ СвропСйских ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, AEM UEGO X-Series ΠΏΠΎΠΊΠ°Π·Π°Π» Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, обойдя своих ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ всСм основным показатСлям – точности измСрСния ΠΈ скорости ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, AEM UEGO X-Series Ρ‚ΠΎΡ‡Π΅Π½, ΠΎΡ‡Π΅Π½ΡŒ быстр ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½ для прочтСния Π΄Π°Π½Π½Ρ‹Ρ…. ВсСгда приятно ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ качСствСнным инструмСнтом! Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ дисплСй ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ значСния состояния Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½ΠΎΠΉ смСси, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с этим Π±Π΅Π³Π°ΡŽΡ‰ΠΈΠΉ свСтодиод ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, мСняя Ρ†Π²Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ значСния ΠΎΡ‚ Π±ΠΎΠ³Π°Ρ‚ΠΎΠΉ Π΄ΠΎ Π±Π΅Π΄Π½ΠΎΠΉ смСси. Для Ρ‡Π΅Π³ΠΎ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Π½ΡƒΠΆΠ΅Π½ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΏΠΎΠ»ΠΎΡΠ½Ρ‹ΠΉ лямбда-Π·ΠΎΠ½Π΄? Основная Π·Π°Π΄Π°Ρ‡Π° этого устройства – ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ показатСля AFR (air fuel ratio) – ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π΄ΡƒΡ…Π° ΠΊ Ρ‚ΠΎΠΏΠ»ΠΈΠ²Ρƒ Π² выпускном Ρ‚Ρ€Π°ΠΊΡ‚Π΅ автомобиля. ПониманиС этой характСристики позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ настройки Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½ΠΎΠΉ смСси ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠΎΡ‚ΠΎΡ€Π°.
Богатая, ΠΈ Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ бСдная топливная смСсь Π³ΡƒΠ±ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ для любого, Π΄Π°ΠΆΠ΅ самого Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ двигатСля. БСдная смСсь Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π΅Ρ‚ΠΎΠ½Π°Ρ†ΠΈΡŽ Π² ΠΊΠ°ΠΌΠ΅Ρ€Π°Ρ… сгорания ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ мСханичСским поврСТдСниям. Богатая смСсь ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Π²Ρ‹Ρ…Π»ΠΎΠΏΠ½Ρ‹Ρ… Π³Π°Π·ΠΎΠ², Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ мощности, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Волько лишь с качСствСнно настроСнными ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ, форсированный ΠΌΠΎΡ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ стабилСн, Π½Π°Π΄Π΅ΠΆΠ΅Π½ ΠΈ Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π΅Π½. ΠŸΡ€ΠΈ настройкС Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½ΠΎΠΉ смСси особСнно Π²Π°ΠΆΠ½Π° характСристика скорости ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π·ΠΎΠ½Π΄Π° Π½Π° измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ AFR. Π§Π΅ΠΌ быстрСС Π΄Π°Ρ‚Ρ‡ΠΈΠΊ научится ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ эти измСнСния, Ρ‚Π΅ΠΌ Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈ качСствСннСС Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚ΠΎΠΏΠ»ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π²ΠΎ всСх Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΡ‚ΠΎΡ€Π°. Π§ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΏΠΎΠ»ΠΎΡΠ½ΠΎΠΉ лямбды AEM UEGO X-Series считываСт эти значСния Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ быстро ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎ Π½Π΅Π³ΠΎ этого Π½Π΅ Π΄Π΅Π»Π°Π» Π½ΠΈ ΠΎΠ΄ΠΈΠ½ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚. AEM UEGO X-Series позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ настройки любого двигатСля – Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ форсированный Ρ‚ΡƒΡ€Π±ΠΎΠΌΠΎΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ оборотистый «атмосфСрник».
Π—ΠΎΠ½Π΄ LSU 4.9 Π½ΠΎΠ²ΠΎΠ³ΠΎ AEM UEGO X-Series Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ Π½Π° Π²ΠΎΠ·Π΄ΡƒΡ…Π΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π² использовании ΠΏΡ€ΠΈ настройкС. Для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с вопросом, опишСм, ΠΊΠ°ΠΊ это дСлалось ΠΏΡ€Π΅ΠΆΠ΄Π΅. ΠŸΡ€ΠΈ настройкС с использованиСм ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Π·ΠΎΠ½Π΄ΠΎΠ², настройщику ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π·ΠΎΠ½Π΄ ΠΈΠ· Π²Ρ‹Ρ…Π»ΠΎΠΏΠ½ΠΎΠΉ систСмы ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ Π΅Π³ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π²Π΅ΡΠΈΡ‚ΡŒ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ Π²ΠΎΠ·Π΄ΡƒΡ…Π΅ ΠΈ Π·Π°ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ содСрТания кислорода Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΉ атмосфСрС. Иногда ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΏΠΎ нСсколько Ρ€Π°Π·. НовыС Π·ΠΎΠ½Π΄Ρ‹ Bosch LSU 4.9 систСмы AEM UEGO X-Series Π±Ρ‹Π»ΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Π½Ρ‹ Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… условиях ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΠΈ. Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, AEM UEGO X-Series Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСнсорами. Π’ Π±Π»ΠΎΠΊΠ΅ AEM UEGO X-Series располоТСн ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСзистор, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ лишь Π² связкС с сСнсором Bosch LSU 4.9. Π—Π°ΠΌΠ΅Π½Π° сСнсора ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ показаниям. ΠšΠΎΡ€ΠΏΡƒΡ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° AEM UEGO X-Series Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π² стандартном Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅, Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ 52 ΠΌΠΌ, Ρ‡Ρ‚ΠΎ позволяСт Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… подставок для Π΄ΠΎΠΏ.
ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ². Π”Π°Ρ‚Ρ‡ΠΈΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ смСнный Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ сСрСбристый ΠΎΠ±ΠΎΠ΄ΠΎΠΊ ΠΈ ΡΠΌΠ΅Π½Π½ΡƒΡŽ Π»ΠΈΡ†Π΅Π²ΡƒΡŽ панСль, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ Π² Ρ‡Π΅Ρ€Π½ΠΎΠΌ ΠΈ Π±Π΅Π»ΠΎΠΌ Ρ†Π²Π΅Ρ‚Π΅. Π’Π°ΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ внСшний Π²ΠΈΠ΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, Π²Ρ‹Π±Ρ€Π°Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Ρ†Π²Π΅Ρ‚ΠΎΠ² для ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π° вашСго автомобиля. ΠšΠΎΡ€ΠΏΡƒΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ AEM UEGO X-Series оснащСн Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ 0,5 Π²ΠΎΠ»ΡŒΡ‚, для трансляции Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ внСшниС ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π΄Π°Ρ‚Π°Π»ΠΎΠ³Π³Π΅Ρ€Ρ‹ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈ управлСния Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ. ОсобСнно Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ новая ΡˆΠΈΡ€ΠΎΠΊΠΎΠΏΠΎΠ»ΠΎΡΠ½Π°Ρ лямбда AEM UEGO X-Series Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² любом Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ с Π»ΡŽΠ±Ρ‹ΠΌ Π±Π»ΠΎΠΊΠΎΠΌ управлСния Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ лямбда

К

Π“ΠΎΡ€Π΄ΠΎΠ½ Π‘ΠΊΠΎΡ‚Ρ‚

Полная биография

Π“ΠΎΡ€Π΄ΠΎΠ½ Π‘ΠΊΠΎΡ‚Ρ‚ Π±Ρ‹Π» Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ инвСстором ΠΈ тСхничСским Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 20 Π»Π΅Ρ‚. Он Π΄ΠΈΠΏΠ»ΠΎΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ спСциалист ΠΏΠΎ Ρ€Ρ‹Π½ΠΊΡƒ (CMT).

Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ нашСм рСдакционная ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°

ОбновлСно 29 апрСля 2022 Π³.

Π€Π°ΠΊΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½

Π‘ΠΊΠ°ΠΉΠ»Π°Ρ€ ΠšΠ»Π°Ρ€ΠΈΠ½

Π€Π°ΠΊΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ Π‘ΠΊΠ°ΠΉΠ»Π°Ρ€ ΠšΠ»ΡΡ€ΠΈΠ½

Полная биография

Π‘ΠΊΠ°ΠΉΠ»Π°Ρ€ ΠšΠ»ΡΡ€ΠΈΠ½ занимаСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ экспСртом Π² области Π»ΠΈΡ‡Π½Ρ‹Ρ… финансов с ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Π΅Ρ‚Π΅Ρ€ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ².

Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ нашСм рСдакционная ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ лямбда?

Π’ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°ΠΌΠΈ лямбда β€” это грСчСская Π±ΡƒΠΊΠ²Π°, присвоСнная ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ коэффициСнтС ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΏΠ»Π΅Ρ‡Π°, прСдоставляСмого ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎΠΌ, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ†Π΅Π½Ρ‹ этого ΠΎΠΏΡ†ΠΈΠΎΠ½Π°. Π­Ρ‚Π° ΠΌΠ΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ называСтся коэффициСнтом Π·Π°Π΅ΠΌΠ½Ρ‹Ρ… срСдств ΠΈΠ»ΠΈ, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… странах, эффСктивным Ρ€Ρ‹Ρ‡Π°Π³ΠΎΠΌ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

  • ЗначСния лямбда ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΏΠ»Π΅Ρ‡Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎΠΌ.
  • БчитаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Β«ΠœΠ°Π»Ρ‹Ρ… Π³Ρ€Π΅ΠΊΠΎΠ²Β» Π² финансовой Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅. Π­Ρ‚Ρƒ ΠΌΠ΅Ρ€Ρƒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находят, работая с Π΄Π΅Π»ΡŒΡ‚ΠΎΠΉ.
  • ΠŸΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ чувствитСлСн ΠΊ измСнСниям Π²ΠΎΠ»Π°Ρ‚ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ ΠΎΠ½ Π½Π΅ рассчитываСтся Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π²Π΅Π³Π°.

ПониманиС лямбды

Лямбда ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ коэффициСнт ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΏΠ»Π΅Ρ‡Π° обСспСчит ΠΎΠΏΡ†ΠΈΠΎΠ½ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ†Π΅Π½Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π° Π½Π° 1%. Лямбда β€” это ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Β«ΠΌΠΈΠ½ΠΎΡ€Π½Ρ‹Ρ… Π³Ρ€Π΅ΠΊΠΎΠ²Β», ΠΈ ΠΎΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ опрСдСляСт, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π³Ρ€Π΅ΠΊΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, информация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ прСдоставляСт, ΠΏΠΎΠ»Π΅Π·Π½Π° для понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠ»Π΅Ρ‡ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π΅ΠΉΠ΄Π΅Ρ€ Π² Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°ΠΌΠΈ. Π’Π°ΠΌ, Π³Π΄Π΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠ»Π΅Ρ‡ΠΎ являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ сдСлки, лямбда становится ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΌΠ΅Ρ€ΠΎΠΉ.

ПолноС ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ лямбда выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Ξ» Β«=Β» βˆ‚ Π‘ / Π‘ βˆ‚ Π‘ / Π‘ Β«=Β» Π‘ Π‘ βˆ‚ Π‘ βˆ‚ Π‘ Β«=Β» βˆ‚ ΠΏ Π‘ βˆ‚ ΠΏ Π‘ Π³Π΄Π΅: Π‘ Β«=Β» Π¦Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΈ Π‘ Β«=Β» Π¦Π΅Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ†Π΅Π½Π½ΠΎΠΉ Π±ΡƒΠΌΠ°Π³ΠΈ βˆ‚ Β«=Β» Π˜Π·ΠΌΠ΅Π½ΡΡ‚ΡŒ \begin{align}&\lambda=\frac{\partial C/C}{\partial S/S}=\frac{S}{C}\frac{\partial C}{\partial S}=\frac{ \partial \text{ ln }C}{\partial \text{ ln }S}\\&\textbf{Π³Π΄Π΅:}\\&C=\text{Π¦Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°}\\&S=\text{Π¦Π΅Π½Π° базовая Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ}\\&\partial=\text{Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ}\end{Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½ΠΎ} ​λ=βˆ‚S/Sβˆ‚C/C​=CSβ€‹βˆ‚Sβˆ‚C​=βˆ‚ ln Sβˆ‚ ln C, Π³Π΄Π΅:C=Π¦Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°S=Π¦Π΅Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ†Π΅Π½Π½ΠΎΠΉ Π±ΡƒΠΌΠ°Π³ΠΈβˆ‚=Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅β€‹

Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ расчСт лямбды сводится ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π΄Π΅Π»ΡŒΡ‚Ρ‹, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡƒ Π½Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ Π°ΠΊΡ†ΠΈΠΈ ΠΊ Ρ†Π΅Π½Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°. Π”Π΅Π»ΡŒΡ‚Π° являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· стандартных грСчСских символов ΠΈ прСдставляСт собой сумму, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ оТидаСтся ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°, Ссли Ρ†Π΅Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π° измСнится Π½Π° ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠ»Π»Π°Ρ€.

Лямбда Π² дСйствии

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, Ρ‡Ρ‚ΠΎ доля Π°ΠΊΡ†ΠΈΠΉ торгуСтся ΠΏΠΎ 100 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², Π° ΠΎΠΏΡ†ΠΈΠΎΠ½ ΠΊΠΎΠ»Π» Β«ΠΏΡ€ΠΈ Π΄Π΅Π½ΡŒΠ³Π°Ρ…Β» с Ρ†Π΅Π½ΠΎΠΉ исполнСния 100 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² торгуСтся ΠΏΠΎ 2,10 Π΄ΠΎΠ»Π»Π°Ρ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»ΡŒΡ‚Π°-ΠΎΡ†Π΅Π½ΠΊΠ° Ρ€Π°Π²Π½Π° 0,58, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ лямбда ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого уравнСния:

лямбда Β«=Β» 0,58 Γ— ( 100 2.10 ) Β«=Β» 27,62 \text{Lambda}=0,58\times\left(\frac{100}{2,10}\right)=27,62 Лямбда = 0,58 Γ— (2,10100​) = 27,62

Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ лямбда ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° сравнимоС ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ΅ ΠΏΠ»Π΅Ρ‡ΠΎ ΠΎΠΏΡ†ΠΈΠΎΠ½Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π°ΠΊΡ†ΠΈΠ΅ΠΉ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ стоимости Π°ΠΊΡ†ΠΈΠΉ Π½Π° 1% ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠΉ ΠΆΠ΅ стоимости ΠΎΠΏΡ†ΠΈΠΎΠ½Π° Π² Π΄ΠΎΠ»Π»Π°Ρ€Π°Ρ… Π½Π° 27,62%.

ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ происходит с Π΄ΠΎΠ»Π΅ΠΉ Π² 1000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² этой 100-Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²ΠΎΠΉ Π°ΠΊΡ†ΠΈΠΈ. Π’Ρ€Π΅ΠΉΠ΄Π΅Ρ€ Π²Π»Π°Π΄Π΅Π΅Ρ‚ 10 акциями, ΠΈ Ссли Π°ΠΊΡ†ΠΈΠΈ Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ вырастут Π½Π° 1% (со 100 Π΄ΠΎ 101 Π΄ΠΎΠ»Π»Π°Ρ€Π° Π·Π° Π°ΠΊΡ†ΠΈΡŽ), ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΈ Ρ‚Ρ€Π΅ΠΉΠ΄Π΅Ρ€Π° увСличится Π½Π° 10 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π΄ΠΎ 1010 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ². Но Ссли Ρƒ Ρ‚Ρ€Π΅ΠΉΠ΄Π΅Ρ€Π° Π±Ρ‹Π»Π° аналогичная доля Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ 1050 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² ΠΎΠΏΡ†ΠΈΠΎΠ½Π΅ (ΠΏΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² ΠΏΠΎ 2,10 Π΄ΠΎΠ»Π»Π°Ρ€Π°), Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ стоимости этой ставки Π±ΡƒΠ΄Π΅Ρ‚ совсСм Π΄Ρ€ΡƒΠ³ΠΈΠΌ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΎΠ½Π° увСличится с 2,10 Π΄ΠΎ 2,68 Π΄ΠΎΠ»Π»Π°Ρ€Π° (Π½Π° основС значСния Π΄Π΅Π»ΡŒΡ‚Ρ‹), Ρ‚ΠΎΠ³Π΄Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ 1050 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² этих пяти ΠΎΠΏΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π°Ρ…, вырастСт Π΄ΠΎ 1340 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ², Ρ‚. Π΅. Π½Π° 27,62%.

Лямбда ΠΈ Π²ΠΎΠ»Π°Ρ‚ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Π’ Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях лямбда ΠΈ Π²Π΅Π³Π° ΠΏΡ€ΠΈΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ. ΠŸΡƒΡ‚Π°Π½ΠΈΡ†Π°, созданная этим, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ расчСты ΠΈΡ… Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹, Π½ΠΎ это Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Однако, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ влияниС ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌΠΎΠΉ Π²ΠΎΠ»Π°Ρ‚ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Ρ†Π΅Π½Ρ‹ ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎΠ² измСряСтся Π²Π΅Π³Π°, ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это влияниС отраТаСтся Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π΅Π»ΡŒΡ‚Ρ‹, лямбда ΠΈ Π²Π΅Π³Π° часто ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ измСнСния Ρ†Π΅Π½.

НапримСр, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ лямбда ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅, Ρ‡Π΅ΠΌ дальшС находится Π΄Π°Ρ‚Π° истСчСния срока дСйствия ΠΎΠΏΡ†ΠΈΠΎΠ½Π°, ΠΈ ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ приблиТСния Π΄Π°Ρ‚Ρ‹ истСчСния срока дСйствия. Π­Ρ‚ΠΎ наблюдСниС Π²Π΅Ρ€Π½ΠΎ ΠΈ для Π²Π΅Π³ΠΈ. Лямбда измСняСтся, ΠΊΠΎΠ³Π΄Π° происходят большиС колСбания Ρ†Π΅Π½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Π°Ρ Π²ΠΎΠ»Π°Ρ‚ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ отраТаСтся Π² Ρ†Π΅Π½Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎΠ². Если Ρ†Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π° двиТСтся Π²Π²Π΅Ρ€Ρ… ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ роста Π²ΠΎΠ»Π°Ρ‚ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚ΠΎ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ лямбда Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ высокая ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΎΠ½ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΏΠ»Π΅Ρ‡Π°.

Π£Ρ‡Π΅Π±Π½ΠΎΠ΅ пособиС: лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python

9 ΠΌΠ°Ρ€Ρ‚Π° 2022 Π³.

Π’ этом ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ пособии ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python ΠΈ рассмотрим прСимущСства ΠΈ ограничСния ΠΈΡ… использования.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ лямбда-функция Π² Python?

Лямбда-функция β€” это анонимная функция (Ρ‚. Π΅. опрСдСлСнная Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ), которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

Лямбда-функция Π² Python ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

лямбда-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ элСмСнта:

  • ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово lambda β€” Π°Π½Π°Π»ΠΎΠ³ def Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… функциях
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
    , ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  • Π’Π΅Π»ΠΎ β€” Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ…
    с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΡ‹ Π½Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. Если лямбда-функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΌΡ‹ пСрСчисляСм ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ выраТСния (Π² ΠΈΠ΄Π΅Π°Π»Π΅, однострочного) ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ собираСмся ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ·ΠΆΠ΅. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ высокого порядка (Ρ‚ΠΎΠΉ, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²), Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€() , ΠΊΠ°Ρ€Ρ‚Π°() ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ() .

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ лямбда-функция Π² Python

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

 лямбда Ρ…: Ρ… + 1 
 <функция __main__.<лямбда>(x)> 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ лямбда-функция ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π° 1 ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ простая вСрсия ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с def ΠΈ , Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов:

 ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ increment_by_one(x):
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ… + 1 

Однако Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ наша лямбда-функция lambda x: x + 1 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚. ΠœΡ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ этого: ΠΌΡ‹ Π½Π΅ прСдоставили Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°) Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ x . Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала Π½Π°Π·Π½Π°Ρ‡ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π΅Π΅ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ посмотрим, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½Π° этот Ρ€Π°Π·:

 Π° = 2
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (лямбда Ρ…: Π° + 1) 
 <функция <лямбда> ΠΏΠΎ адрСсу 0x00000250CB0A5820> 

ВмСсто Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° 3 , ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, наша лямбда-функция Π²Π΅Ρ€Π½ΡƒΠ»Π° сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΅Π³ΠΎ располоТСниС Π² памяти. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, это Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ способ Π²Ρ‹Π·ΠΎΠ²Π° лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π΅ ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

 (лямбда Ρ…: Ρ… + 1)(2) 
 3 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: хотя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ нашСй лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΡ‹ добавляСм ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки Π²ΠΎΠΊΡ€ΡƒΠ³ всСй конструкции лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° Π²Π΅Ρ‰ΡŒ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ слСдуСт ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сразу послС Π΅Π΅ создания ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ называСмая Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ вызванная функция выполнСния (ΠΈΠ»ΠΈ IIFE ).

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с нСсколькими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π’ этом случаС ΠΌΡ‹ раздСляСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ запятой. Когда ΠΌΡ‹ выполняСм Ρ‚Π°ΠΊΡƒΡŽ ​​лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΌΡ‹ пСрСчисляСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС ΠΈ Ρ‚ΠΎΠΆΠ΅ раздСляСм ΠΈΡ… запятой:

 (лямбда x, y, z: x + y + z)(3, 8, 1) 
 12 

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для выполнСния условных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ лямбда-Π°Π½Π°Π»ΠΎΠ³ простой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ if-else :

 print((лямбда x: x Ссли(x > 10) else 10)(5)) 
 print((лямбда x: x Ссли(x > 10) else 10)(12)) 
 10
    12 

Если присутствуСт нСсколько условий ( if-elif-…-else ), ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡ… Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°:

 (лямбда x: x * 10, Ссли x > 10 ΠΈΠ½Π°Ρ‡Π΅ (x * 5, Ссли x < 5, ΠΈΠ½Π°Ρ‡Π΅ x))(11) 
 110 

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с этим ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ с ΠΎΠ΄Π½ΠΈΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ условиСм ΠΊΠΎΠ΄ становится Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ для чтСния, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅. Π’ Ρ‚Π°ΠΊΠΈΡ… ситуациях обычная функция с Π½Π°Π±ΠΎΡ€ΠΎΠΌ условий if-elif-…-else Π±ΡƒΠ΄Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ρ‡Π΅ΠΌ лямбда-функция. Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ check_conditions(x):
        Ссли Ρ… > 10:
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ… * 10
        Π­Π»ΠΈΡ„ Ρ… < 5:
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ… * 5
        Π΅Ρ‰Π΅:
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ…
    check_conditions(11) 
 110 

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ привСдСнная Π²Ρ‹ΡˆΠ΅ функция Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС строк, Ρ‡Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ лямбда-функция, Π΅Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Π³Ρ‡Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

 ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ = лямбда Ρ…: Ρ… + 1
    ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅(2) 
 3 

Однако, согласно руководству ΠΏΠΎ ΡΡ‚ΠΈΠ»ΡŽ PEP 8 для ΠΊΠΎΠ΄Π° Python, это плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°:

ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания устраняСт СдинствСнноС прСимущСство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с явным ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ def (Ρ‚. Π΅. Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅).

Π˜Ρ‚Π°ΠΊ, Ссли Π½Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для дальнСйшСго использования, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½Π°ΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python

Лямбда с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ

() Ѐункция

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ filter() Π² Python для Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов ΠΈΠ·
ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, списков, Π½Π°Π±ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, сСрий ΠΈ Ρ‚. Π΄.) Π½Π° основС ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π²
. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

  • Ѐункция, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ
  • Π˜Ρ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся функция

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°:

 лст = [33, 3, 22, 2, 11, 1]
    Ρ„ΠΈΠ»ΡŒΡ‚Ρ€(лямбда Ρ…: Ρ… > 10, лст) 
 <Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ адрСсу 0x250cb090520> 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° со всСми элСмСнтами ΠΈΠ· исходного ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ критСриям, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Python: list() , tuple() , set() , frostset() ΠΈΠ»ΠΈ sorted() (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ отсортированный список).

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌ список чисСл, Π²Ρ‹Π±Ρ€Π°Π² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа большС 10, ΠΈ Π²Π΅Ρ€Π½Π΅ΠΌ список, отсортированный Π² порядкС возрастания:

 лст = [33, 3, 22, 2, 11, 1]
    отсортировано (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ (лямбда x: x > 10, lst)) 
 [11, 22, 33] 

Нам Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°, Ρ‡Ρ‚ΠΎ ΠΈ исходный. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

 лст = [33, 3, 22, 2, 11, 1]
    tpl = ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ (лямбда x: x > 10, lst))
    Ρ‚ΠΏΠ» 
 (33, 22, 11) 

Лямбда с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ

map()

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ map() Π² Python для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π•Π³ΠΎ синтаксис ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ filter() : функция для выполнСния ΠΈ итСрация, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эта функция примСняСтся. Ѐункция map() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π² этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python: список() , ΠΊΠΎΡ€Ρ‚Π΅ΠΆ() , set() , Π·Π°ΠΌΠΎΡ€ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€() ΠΈΠ»ΠΈ sorted() .

Как ΠΈ Π² случаС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter() , ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΡ‚ исходного, ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠ°Ρ€Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ map() для умноТСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² спискС Π½Π° 10 ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° сопоставлСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ tpl :

 лст = [1, 2, 3, 4, 5]
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (ΠΊΠ°Ρ€Ρ‚Π° (лямбда x: x * 10, lst))
    tpl = ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (ΠΊΠ°Ρ€Ρ‚Π° (лямбда x: x * 10, lst))
    Ρ‚ΠΏΠ» 
 <ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΏΠΎ адрСсу 0x00000250CB0D5F40>
    (10, 20, 30, 40, 50) 

Одно Π²Π°ΠΆΠ½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ функциями map() ΠΈ filter() Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ пСрвая всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π΄Π»ΠΈΠ½Ρ‹, Ρ‡Ρ‚ΠΎ ΠΈ исходная . Π˜Ρ‚Π°ΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ сСрии pandas Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ map() ΠΊ столбцу DataFrame, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ столбСц:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Π½Π΄ ΠΊΠ°ΠΊ pd
    df = pd. DataFrame({'col1': [1, 2, 3, 4, 5], 'col2': [0, 0, 0, 0, 0]})
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π΄Ρ„)
    df['col3'] = df['col1'].map(лямбда x: x * 10)
    Π΄Ρ„ 
 столбСц 1 столбСц 2
0 1 0
1 2 0
2 3 0
3 4 0
4 5 0
   столбСц1 столбСц2 столбСц3
0 1 0 10
1 2 0 20
2 3 0 30
3 4 0 40
4 5 0 50 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ для получСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ случаС Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ apply() :

 df['col3'] = df['col1'].apply(лямбда x: x * 10)
    Π΄Ρ„ 
 столбСц 1 столбСц 2 столбСц 3
0 1 0 10
1 2 0 20
2 3 0 30
3 4 0 40
4 5 0 50 

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ столбСц DataFrame Π½Π° основС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условий для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ столбца. Π•Ρ‰Π΅ Ρ€Π°Π·, для ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ map() ΠΈΠ»ΠΈ apply() взаимозамСняСмо:

 df['col4'] = df['col3'].map(лямбда x: 30, Ссли x < 30, ΠΈΠ½Π°Ρ‡Π΅ x)
    Π΄Ρ„ 
 col1 col2 col3 col4
0 1 0 10 30
1 2 0 20 30
2 3 0 30 30
3 4 0 40 40
4 5 0 50 50 

Лямбда с

ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ() Ѐункция

Ѐункция reduce() связана с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ functools Python ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  1. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ двумя элСмСнтами ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ сохраняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
  2. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с сохранСнным Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ
  3. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°Π΄ ΠΏΠ°Ρ€Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ всС элСмСнты
    ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ

Π­Ρ‚Π° функция ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π²Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: функция ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Однако, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, эту Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ ΠΎΠ½Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ скалярноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

 ΠΈΠ· functools ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ
    лст = [1, 2, 3, 4, 5]
    ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ (лямбда x, y: x + y, lst) 
 15 

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ reduce() Π² дСйствии, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π΅ для вычислСния суммы списка (хотя для Ρ‚Π°ΠΊΠΎΠΉ простой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΡ‹ Π±Ρ‹ использовали Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅: sum(lst) ).

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ функция reduce() всСгда Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€ΠΎΠ²Π½ΠΎ с двумя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΈΠ· functools ΠœΠΎΠ΄ΡƒΠ»ΡŒ Python.

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python

ΠŸΠ»ΡŽΡΡ‹

  • Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ для вычислСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ выраТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅
    прСдполагаСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.
  • Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½.
  • Π•Π³ΠΎ синтаксис Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π΅Π½ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ
    .

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *