Mari kita bicara tentang pengurangan terakhir, dan ini sedikit maju dan mungkin agak sulit untuk dipahami pada awalnya, tetapi
ada baiknya mengetahui bahwa itu ada dan Anda dapat mempelajarinya lebih lanjut dengan mempraktikkannya
dan membaca beberapa dokumentasi di milikmu.
Sekarang, pengurangan tidak datang sebagai bagian dari fungsi bawaan python.
Agar kita dapat menggunakan reduce, kita harus melakukan sesuatu seperti ini.
Sekarang, Anda belum pernah melihat ini sebelumnya dan ini adalah sesuatu yang akan kita bahas di bagian modul
kursus.
Tetapi pada dasarnya apa yang terjadi di sini adalah ketika kami mengunduh Python Interpreter dan paket Python, dalam
kasus kami, Reppel ini sudah melakukannya untuk kami.
Kita dapat mengimpor sesuatu dari foto-foto ini.
Dan alat fungsi adalah apa yang kami sebut sabuk alat yang dapat kami gunakan untuk alat fungsional yang disertakan dengan
instalasi Python.
Dan dari sana, ada fungsi khusus yang bisa kita impor.
Jadi saya katakan, hei, dari alat func dari sabuk alat ini, saya ingin Anda mengimpor fungsi pengurangan sehingga kita dapat
menggunakannya dalam kode kita lagi, sesuatu yang akan kita bahas nanti dalam kursus.
Jadi untuk saat ini, cukup salin dan tempel baris ini.
Selanjutnya, mari kita hapus beberapa daftar kita dan di sini gunakan reduce.
Sekarang, dengan pengurangan, kita akan membutuhkan beberapa hal.
Pertama.
Kami membutuhkan fungsi tersebut.
Dan kemudian kita membutuhkan urutan atau datanya.
Jadi apa fungsinya, pertama-tama, data kita akan menjadi daftar saya, jadi saya akan mengatakan
daftar saya dan fungsi yang dikurangi memungkinkan kita melakukan sesuatu yang menarik.
Saya bisa memberikannya, katakanlah, sebuah fungsi.
Dan fungsi ini, kami akan menyebutnya akumulator.
Dan akumulator mengambil dua parameter, dan ingat, ini akan dipanggil oleh pengurangan, jadi pengurangan akan
bertugas memberikan dua parameter ini dari data yang kami berikan, yang merupakan
daftar saya.
Parameter pertama adalah apa yang kita sebut akumulasi, atau dalam kasus saya, Axi.
Dan kemudian di sini akan menjadi item.
Sekarang, yang menjadi sangat menarik adalah ketika kami pertama kali melewati daftar saya dari pengurangan, kami akan mendapatkan
item pertama.
Item pertama akan berada di parameter ini.
Namun, apa sumbu ini awalnya?
Nah, jika saya hanya menghapus tanda kurung di sini.
Jadi Anda mengurangi Anda melihat bahwa kami memiliki fungsi.
Urutannya, yang dalam kasus kami akan menjadi daftar kami dan kemudian inisial dan inisial adalah apa yang akan menjadi
akumulator.
Jadi sekali lagi, katakanlah kita akan memiliki fungsi akumulator yang belum akan kita panggil.
Reduce akan melakukannya untuk kita.
Saya akan memberikan daftarnya.
Atau data yang ingin kita ulangi dan kemudian saya akan memberikan nilai awal nol.
Jadi kita punya tiga.
Parameter di sini atau tiga argumen yang kami berikan itu.
Biarkan saya menutup tanda kurung di mana Anda membuat ini sedikit lebih besar di sini dan pastikan saya bisa mengeja.
Sekarang, di sini, item pertama adalah apa pun yang merupakan item pertama dalam daftar saya.
Dan kemudian akumulator akan default ke nol jika kami tidak memberikan apa pun atau dalam kasus kami, kami telah
mengatakan bahwa akumulator akan menjadi nol.
Jadi hal pertama yang akan kita lakukan adalah mengembalikan accumulator plus item.
Oke, jadi mari kita bahas ini satu per satu.
Saya benar-benar akan mencetak di sini akumulator dan item agar kita dapat melihat dan kemudian saya akan menjalankan
kode ini.
Baris 15 ke objek tidak dapat diubah.
Dan ini sedikit rumit, tetapi sebenarnya kita tidak membutuhkan daftar itu lagi karena pengurangan akan melakukan sesuatu yang
menarik bagi kita.
Jadi mari kita hapus ini untuk saat ini dan kembalikan apa pun yang dikurangi yang diberikan kepada kita.
Dan hasil cetaknya jika saya klik, jalankan.
Lihat itu.
Baiklah, jadi apa yang baru saja terjadi?
Mari kita lihat.
Mengurangi.
Memungkinkan kita untuk mengurangi sesuatu, semacam nilai dari iterable yang kita berikan.
Jadi mari kita selangkah demi selangkah.
Kami memiliki daftar saya dan daftar saya akan diterapkan ke akumulator melalui pengurangan.
Akumulator akan mengambil daftar saya.
Dan hal pertama yang akan dilakukan di lintasan pertama adalah mengatakan, hei, akumulator saya akan jadi
apa?
Aku akan mengaturnya ke nol.
Jadi yang pertama melewati akumulator akan menjadi nol.
Sebuah item akan menjadi satu, yang kita lihat di sini.
Dan kita akan menambahkannya nol plus satu.
Jadi sekarang kami telah mengembalikan satu.
Sekarang, pass kedua ke.
Apa yang akan terjadi saat melewati akumulator akan menjadi apa, pengembalian ini?
Jadi pass berikutnya untuk apa pun yang dikembalikan ini akan diisi ke dalam akumulator, jadi dalam kasus kami,
nol ditambah satu akan menjadi satu.
Item akan menjadi dua, satu ditambah dua akan menjadi tiga, jadi satu ditambah dua sama dengan tiga.
Jadi waktu berikutnya akumulator akan menjadi tiga.
Dan sementara kami melewati akan menjadi tiga juga, seperti yang Anda lihat di sini.
Dan tiga tambah tiga adalah enam.
Kami baru saja mengumpulkan semua nilai ini dan mengembalikan satu.
Nomor enam, kami telah mengurangi daftar kami menjadi semacam data yang telah kami manipulasi menggunakan dalam kasus kami,
akumulator.
Tapi saya bisa melakukan apapun yang saya inginkan di sini.
Jadi jika, misalnya, saya mengubah ini menjadi tidak sama dengan 10, menurut Anda apa yang akan terjadi jika saya mengklik run?
Saya mendapatkan 16 karena saya memulai akumulator awal saya dengan 10, jadi 10 tambah satu, seterusnya dan seterusnya.
Sekarang berkurang sangat, sangat kuat karena Anda dapat melakukan banyak hal dengannya.
Ini sangat, sangat fleksibel.
Dan sebenarnya di balik kap, fungsi seperti Filter Peta sebenarnya menggunakan pengurangan ini di bawah kap sehingga Anda
benar-benar dapat membuat peta dan fungsi filter sendiri menggunakan reduksi.
Sekali lagi, reduce agak sulit untuk dipahami pada awalnya, dan perlu sedikit latihan untuk benar-benar
menggunakannya.
Tapi itu adalah salah satu hal yang sangat, sangat disukai oleh programmer tingkat lanjut dan Anda akan melihat lebih banyak dan lebih banyak
lagi sepanjang karir Anda saat Anda menjadi lebih baik dan lebih baik.
Sampai jumpa di yang berikutnya.
Sampai jumpa.