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))
Output:
[2, 4, 6]
Contoh Lainnya
Buang string kosong (fungsi = None)
data = ["python", "", "keren", "", "!"]
bersih = list(filter(None, data))
print(bersih)
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)
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))
Output:
[4, 16, 36]
Kesalahan Umum
filter()mengembalikan iterator — bungkus denganlist()untuk melihat hasilnya.- Beda dengan
map():filter()memilih elemen, sedangkanmap()mengubah tiap elemen. filter(None, data)membuang semua nilai falsy (0,"",None,[]), bukan hanyaNone.
Pelajari Lebih Lanjut
- Referensi: map() di Python · lambda di Python · List comprehension
- Buku Belajar Python untuk Pemula: Bab 16
