πŸ”Ž Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ filter Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎΠ± ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter Π² языкС программирования Python πŸ”

Π’ Python функция filter ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов Π² ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ условии.

Она ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-условиС ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Ѐункция-условиС Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True ΠΈΠ»ΠΈ False.

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

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования filter для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
# Π’Ρ‹Π²ΠΎΠ΄: [2, 4, 6, 8, 10]

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, функция filter ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл ΠΈΠ· списка numbers. Лямбда-функция lambda x: x % 2 == 0 провСряСт, являСтся Π»ΠΈ число x Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ. Волько числа, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… условиС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ спискС even_numbers.

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ filter Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅

Ѐункция filter() Π² языкС Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов ΠΈΠ· ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° основС Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ условия. Она позволяСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρƒ.

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ - это функция, которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True ΠΈΠ»ΠΈ False, Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, удовлСтворяСт Π»ΠΈ элСмСнт ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

Бинтаксис:

filter(ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚, ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ_ΠΎΠ±ΡŠΠ΅ΠΊΡ‚)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

def is_even(x):
    return x % 2 == 0

even_numbers = list(filter(is_even, numbers))

print(even_numbers)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния:

[2, 4, 6, 8, 10]

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция is_even() Π² качСствС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ‚Π½Ρ‹Ρ… чисСл ΠΈΠ· списка numbers. Ѐункция filter() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, поэтому ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ list(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² список.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2:

names = ["Alice", "Bob", "Charlie", "Dave"]

def is_long_name(name):
    return len(name) > 5

long_names = list(filter(is_long_name, names))

print(long_names)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния:

["Charlie"]

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция is_long_name() Π² качСствС ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π° для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½, Π΄Π»ΠΈΠ½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 5 символов, ΠΈΠ· списка names.

ЗамСчания:

  • Ѐункция filter() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€, Π° Π½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ список. Если трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ list().
  • Если ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€. Если ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False, элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½.
  • МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ (lambda) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ вмСсто ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ².
  • Ѐункция filter() ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π½Π°Π±ΠΎΡ€Ρ‹ ΠΈ Ρ‚. Π΄.
  • Π Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнты, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ Π²Π΅Ρ€Π½ΡƒΠ» True, ΠΈ Π² порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹.

Π’Ρ‹Π²ΠΎΠ΄:

Ѐункция filter() Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ позволяСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ элСмСнты ΠΈΠ· ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Π°. Она являСтся ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ способом Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Ρ… элСмСнтов.

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

51 Ѐункция filter python. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ функция filter Π² Python

Π£Ρ€ΠΎΠΊΠΈ Python casts #12 - Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция filter()

#57. Ѐункция filter для ΠΎΡ‚Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

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

πŸ” Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простой ΠΈ понятный Π³Π°ΠΉΠ΄

πŸ” Как вывСсти Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ слово? Π›Π΅Π³ΠΊΠΈΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ способ!

πŸ” Как пСрСвСсти список Π² int Π² Python? 🐍 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ”Ž Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ filter Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎΠ± ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter Π² языкС программирования Python πŸ”

πŸ”Ž Как ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ тСкст Π² JSON Π² Python: пошаговоС руководство ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°

Как Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСйствия Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python πŸ€–

Как я стал Python Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Π² 35 Π»Π΅Ρ‚ 🐍