Daftar Referensi Python

filter() adalah fungsi bawaan untuk menyaring elemen iterable — hanya menyisakan elemen yang membuat fungsi bernilai True.

Sintaks

filter(fungsi, iterable)

Parameter

Parameter Wajib? Keterangan
fungsi Ya Fungsi penentu yang mengembalikan True/False untuk tiap elemen. Jika diisi None, elemen yang truthy yang lolos
iterable Ya Iterable yang disaring (list, tuple, string…)

Nilai balik: objek filter (iterator). Bungkus dengan list() untuk melihat isinya.

Contoh

angka = [1, 2, 3, 4, 5, 6]
genap = filter(lambda x: x % 2 == 0, angka)

print(list(genap))

Coba di IDE

Output:

[2, 4, 6]

Contoh Lainnya

Buang string kosong (fungsi = None)

data = ["python", "", "keren", "", "!"]
bersih = list(filter(None, data))

print(bersih)

Coba di IDE

Output:

['python', 'keren', '!']

Menyaring dengan fungsi bernama

def cukup_umur(usia):
    return usia >= 17

usia = [15, 21, 17, 12, 30]
lolos = list(filter(cukup_umur, usia))

print(lolos)

Coba di IDE

Output:

[21, 17, 30]

Gabung filter() dan map()

angka = [1, 2, 3, 4, 5, 6]
genap = filter(lambda x: x % 2 == 0, angka)
kuadrat = map(lambda x: x ** 2, genap)

print(list(kuadrat))

Coba di IDE

Output:

[4, 16, 36]

Kesalahan Umum

  • filter() mengembalikan iterator — bungkus dengan list() untuk melihat hasilnya.
  • Beda dengan map(): filter() memilih elemen, sedangkan map() mengubah tiap elemen.
  • filter(None, data) membuang semua nilai falsy (0, "", None, []), bukan hanya None.

Pelajari Lebih Lanjut