Filter Python ()

Metode filter () membangun iterator dari elemen-elemen iterable yang fungsi mengembalikan nilai true.

Dengan kata sederhana, filter()metode memfilter iterable yang diberikan dengan bantuan fungsi yang menguji setiap elemen dalam iterable menjadi benar atau tidak.

Sintaks filter()metode adalah:

 filter (fungsi, dapat diulang)

filter () Parameter

filter() metode mengambil dua parameter:

  • function - fungsi yang menguji apakah elemen dari sebuah iterable mengembalikan true atau false
    Jika Tidak Ada, fungsi default ke fungsi Identity - yang mengembalikan false jika ada elemen yang salah
  • iterable - iterable yang akan difilter, bisa berupa set, list, tuple, atau container dari setiap iterator

Kembalikan nilai dari filter ()

filter() metode mengembalikan iterator yang melewati pemeriksaan fungsi untuk setiap elemen di iterable.

filter() metode ini setara dengan:

 # ketika fungsi didefinisikan (elemen untuk elemen di iterable if function (elemen)) # ketika fungsi adalah None (elemen untuk elemen di iterable if elemen)

Contoh 1: Bagaimana filter () bekerja untuk daftar yang dapat diulang?

 # list of letters letters = ('a', 'b', 'd', 'e', 'i', 'j', 'o') # function that filters vowels def filterVowels(letter): vowels = ('a', 'e', 'i', 'o', 'u') if(letter in vowels): return True else: return False filteredVowels = filter(filterVowels, letters) print('The filtered vowels are:') for vowel in filteredVowels: print(vowel)

Keluaran

 Vokal yang disaring adalah: aeio 

Di sini, kami memiliki daftar huruf dan hanya perlu menyaring vokal di dalamnya.

Kita bisa menggunakan for loop untuk mengulang setiap elemen dalam daftar huruf dan menyimpannya di daftar lain, tetapi dengan Python, proses ini lebih mudah dan lebih cepat menggunakan filter()metode.

Kami memiliki fungsi filterVowelsyang memeriksa apakah sebuah huruf adalah vokal atau tidak. Fungsi ini diteruskan ke filter()metode dengan daftar huruf.

filter()metode kemudian meneruskan setiap huruf ke filterVowels()metode untuk memeriksa apakah itu kembali benar atau tidak. Pada akhirnya, ini menciptakan iterator dari yang mengembalikan true (vokal).

Karena iterator tidak menyimpan nilai itu sendiri, kami mengulanginya dan mencetak vokal satu per satu.

Contoh 2: Bagaimana metode filter () bekerja tanpa fungsi filter?

 # random list randomList = (1, 'a', 0, False, True, '0') filteredList = filter(None, randomList) print('The filtered elements are:') for element in filteredList: print(element)

Keluaran

 Elemen yang difilter adalah: 1 a True 0 

Di sini, kami memiliki daftar acak angka, string, dan boolean di randomList.

Kami meneruskan randomList ke filter()metode dengan parameter pertama (fungsi filter) sebagai Tidak Ada.

Dengan fungsi filter sebagai None, fungsi default ke fungsi Identity, dan setiap elemen di randomList diperiksa apakah itu benar atau tidak.

Ketika kita mengulang melalui filteredList terakhir, kita mendapatkan elemen yang benar: 1, a, True and '0'('0' sebagai string juga benar).

Artikel yang menarik...