πŸ”‘ΠšΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ lambda ΠΊ списку Python🐍: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Для примСнСния лямбда-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊ списку Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ map() Π² сочСтании с лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


my_list = [1, 2, 3, 4, 5]
result = list(map(lambda x: x * 2, my_list))
print(result)
    

Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт списка Π½Π° 2 ΠΈ создаСт Π½ΠΎΠ²Ρ‹ΠΉ список, содСрТащий Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ умноТСния. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

[2, 4, 6, 8, 10]

Π’Π°ΠΊΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ списковоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (list comprehension) с лямбда-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ для достиТСния Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:


my_list = [1, 2, 3, 4, 5]
result = [x * 2 for x in my_list]
print(result)
    

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ [2, 4, 6, 8, 10].

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ lambda ΠΊ списку Python

Π’ Python lambda - это анонимная функция, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для выполнСния простых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΊ спискам для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дСйствий, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ сортировка. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ lambda для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ списков.

1. Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lambda

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ списка осущСствляСтся с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter() ΠΈ lambda-выраТСния. Lambda-функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True ΠΈΠ»ΠΈ False, Π² зависимости ΠΎΡ‚ условия, ΠΈ элСмСнты списка, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условиС истинно, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ спискС.


numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌ список numbers ΠΈ сохраняСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа Π² спискС even_numbers. Π—Π΄Π΅ΡΡŒ lambda-функция lambda x: x % 2 == 0 провСряСт, являСтся Π»ΠΈ число Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ.

2. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lambda

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списка выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ map() ΠΈ lambda-выраТСния. Lambda-функция примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту списка ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ список.


numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ число ΠΈΠ· списка numbers Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΈ сохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² спискС squared_numbers. Π—Π΄Π΅ΡΡŒ lambda-функция lambda x: x ** 2 выполняСт Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ числа.

3. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lambda

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° списка выполняСтся с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sorted() ΠΈ lambda-выраТСния. Lambda-функция опрСдСляСт ΠΊΠ»ΡŽΡ‡ сортировки ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ элСмСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ послСдними Π² отсортированном спискС.


names = ["Alice", "Bob", "Charlie", "Dave"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сортируСм список names Π² порядкС возрастания ΠΈΡ… Π΄Π»ΠΈΠ½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ lambda-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ lambda x: len(x). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° Π±ΡƒΠ΄ΡƒΡ‚ отсортированы ΠΏΠΎ ΠΈΡ… Π΄Π»ΠΈΠ½Π΅.

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

ИспользованиС lambda-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ совмСстно с функциями filter(), map() ΠΈ sorted() ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ списков Π² Python Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки Π² ΠΎΠ΄Π½ΠΎΠΉ строкС ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ lambda-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ основныС инструмСнты для использования lambda с списками Python. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π² своСм ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ, прСобразованиями ΠΈ сортировками. Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ Π² ΠΌΠΈΡ€ Python!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Python с нуля. Π£Ρ€ΠΎΠΊ 14 | Lambda-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Lambda Python Π½Π° русском Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚ | лямбда выраТСния Python

#42. АнонимныС (lambda) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρƒ ΠΈΠ· строки python ΠΏΠΎ индСксу | Учимся ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ Π² Python ΠΏΠΎ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ индСксу πŸ”₯

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python Π½Π° Windows 7 64 Π±ΠΈΡ‚

πŸ” Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция sum Π² Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ объяснСниС

πŸ”‘ΠšΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ lambda ΠΊ списку Python🐍: простоС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”‘ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ копию массива Π² Python: процСсс объяснСн Π² подробностях πŸ”

πŸ” Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π½Π° языкС ΠŸΠΈΡ‚ΠΎΠ½?

πŸ” Как пСрСвСсти строку Π² Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр Π² Python | ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ