3 Fitur Python Teratas yang Tidak Anda Ketahui (Mungkin)

Halo, Habr! Saya mempersembahkan kepada Anda terjemahan artikel β€œ3 Fungsi Python Teratas yang Tidak Anda Ketahui (Mungkin)” oleh Dario RadečiΔ‡.

Sebagai salah satu bahasa paling populer di abad ke-21, Python tentu memiliki banyak fitur menarik yang perlu ditelusuri secara terperinci. Tiga dari mereka akan dipertimbangkan hari ini, masing-masing secara teoritis, dan kemudian dengan contoh-contoh praktis.

gambar

Alasan utama saya ingin berbicara tentang fungsi-fungsi ini adalah karena mereka membantu untuk menghindari penulisan loop . Siklus bisa mahal dalam beberapa kasus, dan di samping itu, fitur ini akan membantu meningkatkan kecepatan.

Berikut adalah fungsi yang akan dibahas dalam artikel:

1. map ()
2. filter ()
3. kurangi ()

Bahkan jika Anda sudah mendengar tentang fungsi-fungsi ini, tidak ada yang salah dengan memperkuat pengetahuan Anda dengan sedikit lebih banyak teori dan contoh.

Jadi, tanpa basa-basi lagi ... Ayo mulai!

peta ()


Fungsi map () mengambil sebagai parameter fungsi lain bersama dengan beberapa array. Idenya adalah untuk menerapkan fungsi (diteruskan sebagai argumen) ke setiap elemen dalam array.

Ini berguna karena dua alasan:

  1. Anda tidak perlu menulis lingkaran
  2. Ini lebih cepat daripada satu lingkaran

Mari kita melihatnya dalam aksi. Saya akan mendeklarasikan fungsi "num_func ()" yang menggunakan nomor tunggal sebagai parameter. Angka ini kuadrat, habis dibagi 2, dan dikembalikan seperti itu. Perhatikan bahwa operasi dipilih secara sewenang-wenang, Anda dapat melakukan apa saja di dalam fungsi:

gambar

Sekarang mari kita mendeklarasikan array angka yang ingin kita terapkan β€œnum_func ()”. Perhatikan bahwa "map ()" itu sendiri akan mengembalikan objek tampilan , jadi Anda perlu mengubahnya ke daftar:

gambar

Sepertinya proses selesai dengan sukses. Tidak ada yang revolusioner di sini, tetapi alangkah baiknya untuk menghindari siklus jika memungkinkan.

Saring ()


Berikut ini adalah fitur lain yang layak yang akan menghemat waktu Anda - baik secara tertulis maupun dalam pelaksanaan. Seperti namanya, idenya adalah untuk menyimpan dalam array hanya elemen-elemen yang memenuhi kondisi tertentu .

Seperti dalam kasus "map ()", kita dapat mendeklarasikan fungsi terlebih dahulu, dan meneruskannya ke "filter ()" bersama dengan objek yang dapat diulang (misalnya, daftar).

Mari kita melihatnya dalam aksi. Saya melangkah lebih jauh dan mendeklarasikan fungsi "more_than_15 ()", yang, seperti namanya, akan mengembalikan "true" jika elemen yang ditentukan sebagai parameter lebih besar dari 15:

gambar

Selanjutnya, kami mendeklarasikan array angka dan meneruskannya sebagai parameter kedua ke fungsi " Saring () ":

gambar

Seperti yang diharapkan, hanya tiga nilai yang memenuhi kondisi ini. Sekali lagi, tidak ada yang revolusioner di sini, tetapi terlihat jauh lebih baik daripada siklusnya.

mengurangi ()


Sekarang "kurangi ()". Ini sedikit berbeda dari dua sebelumnya. Pertama kita perlu mengimpornya dari modul functools. Gagasan utamanya adalah bahwa ia akan menerapkan fungsi ini ke array elemen dan sebagai hasilnya akan mengembalikan nilai tunggal .

Bagian terakhir sangat penting - "mengurangi ()" tidak mengembalikan array elemen, ia selalu mengembalikan nilai tunggal. Mari kita lihat diagram untuk mengkonkretkan konsep ini:

gambar

Berikut adalah logika yang ditulis jika diagram tidak 100% jelas:

  1. 5 ditambahkan ke 10, menghasilkan 15
  2. 15 ditambahkan ke 12, menghasilkan 27
  3. 27 ditambahkan ke 18, hasilnya 45
  4. 45 ditambahkan ke 25, hasilnya adalah 70

Dan 70 adalah nilai yang kembali. Untuk memulai dengan implementasi kode, mari kita impor fungsi reduksi dari modul functools dan mendeklarasikan fungsi yang mengembalikan jumlah dua angka :

gambar

Sekarang kita dapat kembali ke diagram dalam kode dan memastikan semuanya berjalan sebagaimana mestinya:

gambar

Sampai Anda pergi ke bagian komentar, saya tahu dengan sempurna bahwa ada cara lain untuk meringkas item daftar. Ini adalah contoh paling sederhana untuk menunjukkan cara kerja suatu fungsi.

Sebelum kamu pergi:


Saya harap Anda bisa menggunakan ketiga fungsi ini dalam kehidupan sehari-hari Anda. Peningkatan kecepatan mungkin tidak signifikan - tergantung pada jumlah data yang Anda gunakan - tetapi kode akan terlihat lebih baik dengan loop yang lebih sedikit.

Jika Anda memiliki contoh lain, silakan bagikan di bagian komentar.

Terima kasih sudah membaca.

All Articles