Fungsi Peta, Filter, dan Kurangi dengan Python: Semua yang perlu Anda ketahui



Pelajari apa itu fungsi map (), filter () dan reduce () dengan Python. Juga tahu bagaimana menggunakannya dengan lambda dan fungsi yang ditentukan pengguna dan bersama satu sama lain.

Python menyediakan banyak fungsi bawaan yang telah ditentukan sebelumnya dan dapat digunakan oleh pengguna akhir hanya dengan memanggilnya. Fungsi-fungsi ini tidak hanya memudahkan pekerjaan pemrogram tetapi juga menciptakan lingkungan pengkodean standar. Pada artikel ini, Anda akan mempelajari tentang tiga fungsi yang mengesankan yaitu map (), filter dan reduce () di .

Sebelum melanjutkan, mari kita lihat isinya:





Mari kita mulai. :)

Apa fungsi map (), filter () dan reduce () di Python?

Seperti yang disebutkan sebelumnya, map (), filter (), dan reduce () sudah ada di dalamnya dari Python. Fungsi-fungsi ini memungkinkan aspek pemrograman fungsional . Dalam pemrograman fungsional, argumen yang diteruskan adalah satu-satunya faktor yang menentukan keluaran. Fungsi-fungsi ini dapat mengambil fungsi lain sebagai parameter dan juga dapat disuplai ke fungsi lain sebagai parameter. Jadi sekarang mari kita lihat lebih dalam masing-masing fungsi ini.



Fungsi map ():

Fungsi map () adalah tipe tingkat tinggi. Seperti disebutkan sebelumnya, fungsi ini mengambil fungsi lain sebagai parameter bersama dengan urutan iterable dan mengembalikan output setelah menerapkan fungsi ke setiap iterable yang ada dalam urutan tersebut. Sintaksnya adalah sebagai berikut:

SINTAKSIS:

peta (fungsi, iterabel)



Di sini, fungsi mendefinisikan ekspresi yang pada gilirannya diterapkan ke iterabel. Fungsi peta juga dapat mengambil fungsi yang ditentukan pengguna fungsi lambda sebagai parameter.

Menggunakan Fungsi yang ditentukan pengguna dan Lambda dalam:

Fungsi yang ditentukan pengguna dalam map ():

Fungsi map () dapat menggunakan fungsi yang ditentukan pengguna sebagai parameter. Parameter fungsi ini secara eksklusif ditetapkan oleh pengguna atau pemrogram. Sebagai contoh:

CONTOH:

def newfunc (a): return a * a x = map (newfunc, (1,2,3,4)) #x adalah objek peta cetak (x) print (set (x))

KELUARAN:

{16, 1, 4, 9}

Seperti yang Anda lihat, x adalah objek peta. Output bagian selanjutnya menampilkan fungsi peta yang mengambil newfunc () sebagai parameternya dan kemudian menerapkan a * a ke semua iterable. Hasilnya, nilai dari semua iterable dikalikan dengan sendirinya dan dikembalikan.

CATATAN: Outputnya tidak dalam urutan nilai iterable karena saya telah menggunakan fungsi set (). Anda juga dapat menggunakan fungsi list () atau tuple () misalnya:

CONTOH:

def newfunc (a): return a * a x = map (newfunc, (1,2,3,4)) #x adalah objek peta cetak (x) print (list (x))

KELUARAN:

[1, 4, 9, 16]

Anda juga dapat memberikan lebih dari satu daftar parameter. Sebagai contoh:

CONTOH:

def func (a, b): return a + b a = map (func, [2, 4, 5], [1,2,3]) print (a) print (tuple (a))

KELUARAN:

(3, 6, 8)

Sekarang mari kita lihat bagaimana Anda bisa menggunakan fungsi lambda dalam fungsi map ().

Fungsi Lambda dalam map ():

Fungsi Lambda adalah fungsi yang memiliki nama apa pun. Fungsi-fungsi ini sering kali diberikan sebagai parameter untuk fungsi lainnya. Sekarang mari kita coba untuk menanamkan fungsi lambda di dalam fungsi map (). Perhatikan contoh berikut:

CONTOH:

tup = (5, 7, 22, 97, 54, 62, 77, 23, 73, 61) newtuple = tuple (peta (lambda x: x + 3, tup)) cetak (newtuple)

KELUARAN:

(8, 10, 25, 100, 57, 65, 80, 26, 76, 64)

Output di atas adalah hasil penerapan ekspresi lambda (x + 3) ke setiap item yang ada di tupel.

Fungsi filter ():

Fungsi filter () digunakan untuk membuat daftar keluaran yang terdiri dari nilai-nilai yang dikembalikan benar oleh fungsi. Sintaksnya adalah sebagai berikut:

SINTAKSIS:

filter (fungsi, iterabel)

Sama seperti map (), fungsi ini dapat digunakan juga dapat mengambil fungsi yang ditentukan pengguna serta fungsi lambda sebagai parameter.

CONTOH:

def func (x): if x> = 3: return x y = filter (func, (1,2,3,4)) print (y) print (list (y))

KELUARAN:

[3. 4]

Seperti yang Anda lihat, y adalah objek filter dan daftar adalah daftar nilai yang benar untuk kondisi tersebut (x> = 3).

Menggunakan lambda dalam filter ():


Fungsi lambda yang digunakan sebagai parameter sebenarnya mendefinisikan kondisi yang akan diperiksa. Sebagai contoh:

CONTOH:

y = filter (lambda x: (x> = 3), (1,2,3,4)) cetak (daftar (y))

KELUARAN: [3. 4]

Kode di atas menghasilkan keluaran yang sama dengan fungsi sebelumnya.

Fungsi reduce ():

Fungsi reduce (), seperti yang dijelaskan namanya, menerapkan fungsi tertentu ke iterable dan mengembalikan satu nilai.

mengurangi-peta mengurangi filter-edureka

Sintaks dari fungsi ini adalah sebagai berikut:

SINTAKSIS:

mengurangi (fungsi, iterable)

Fungsi di sini mendefinisikan ekspresi apa yang perlu diterapkan ke iterable. Fungsi ini perlu diimpor dari functools modul . Sebagai contoh:

CONTOH:

dari functools import mengurangi pengurangan (lambda a, b: a + b, [23,21,45,98])

KELUARAN: 187

Dalam contoh di atas, fungsi reduce secara berurutan menambahkan setiap iterable yang ada dalam daftar dan mengembalikan satu output.

Fungsi map (), filter () dan reduce () dengan Python dapat digunakan bersama satu sama lain.

Menggunakan fungsi map (), filter () dan reduce () bersama satu sama lain:

Ketika Anda melakukan ini, fungsi internal pertama-tama diselesaikan dan kemudian fungsi luar beroperasi pada keluaran fungsi internal.

Pertama-tama mari kita coba meneruskan fungsi filter () sebagai parameter ke fungsi map ().

Menggunakan filter () dalam map ():

Kode yang diberikan di bawah ini pertama kali memeriksa kondisi (x> = 3) menjadi benar untuk iterable. Kemudian, keluarannya dipetakan menggunakan fungsi map ().

CONTOH:

c = peta (lambda x: x + x, filter (lambda x: (x> = 3), (1,2,3,4))) cetak (daftar (c))

KELUARAN: [6, 8]

Jika Anda menyaring bilangan bulat yang lebih besar dari atau sama dengan 3 dari tupel yang diberikan, Anda mendapatkan [3,4] sebagai hasilnya. Kemudian jika Anda memetakan ini menggunakan kondisi (x + x), Anda akan mendapatkan [6,8], yang merupakan output.

Menggunakan map () dalam filter ():


Saat Anda menggunakan fungsi map () dalam fungsi filter (), iterabel pertama-tama dioperasikan oleh fungsi peta dan kemudian kondisi filter () diterapkan padanya.

CONTOH:

c = filter (lambda x: (x> = 3), peta (lambda x: x + x, (1,2,3,4))) #lambda x: (x> = 3) cetak (daftar (c) )

KELUARAN: [4, 6, 8]

Menggunakan map () dan filter () dalam reduce ():

Output dari fungsi internal berkurang sesuai dengan kondisi yang disuplai ke fungsi reduce ().

CONTOH:

d = mengurangi (lambda x, y: x + y, peta (lambda x: x + x, filter (lambda x: (x> = 3), (1,2,3,4)))) cetak (d)

KELUARAN: 14

fungsi anggota statis di c ++

Outputnya adalah hasil [6,8] yang merupakan hasil dari fungsi internal map () dan filter ().

Dengan ini, kita telah mencapai akhir artikel ini di map (), filter () dan fungsi pengurangan dengan Python. Saya harap Anda memahami semuanya dengan jelas. Pastikan Anda berlatih sebanyak mungkin dan mengembalikan pengalaman Anda.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'map (), filter () dan reduce () Functions in Python' ini dan kami akan menghubungi Anda kembali secepatnya.

Untuk mendapatkan pengetahuan mendalam tentang Python beserta berbagai aplikasinya, Anda dapat mendaftar secara langsung dengan dukungan 24/7 dan akses seumur hidup.