List Comprehensions lwn Gelung Tradisional dalam Python

Python membolehkan anda melakukan lebih banyak perkara dengan kod yang lebih sedikit.

Salah satu caranya adalah melalui list comprehensions.

Ramai pembangun tertanya-tanya: Adakah kod yang lebih pendek sentiasa lebih baik? Patutkah anda menggantikan setiap gelung dengan comprehension?

Berikut adalah cara untuk anda memilih.

Gelung Tradisional

Gelung tradisional berfungsi langkah demi langkah.

  • Cipta senarai kosong
  • Iterasi melalui data
  • Lakukan pengiraan
  • Tambah (append) hasil tersebut

Gunakan gelung apabila:

  • Logik anda kompleks
  • Anda perlu menyahpepijat (debug) pelbagai langkah
  • Anda perlu melakukan kesan sampingan (side effects) seperti mencetak atau merekod log
  • Anda mempunyai banyak syarat bersarang (nested conditions)

Gelung menjadikan niat anda jelas. Ia membantu pembangun lain membaca kod anda tanpa kekeliruan.

List Comprehensions

Sebuah list comprehension melakukan tugas yang sama dalam satu baris.

  • Ia menggabungkan iterasi dan transformasi
  • Ia mencipta koleksi baharu secara serta-merta
  • Ia biasanya lebih pantas daripada gelung

Gunakan comprehension apabila:

  • Tugas tersebut adalah transformasi ringkas
  • Anda menapis senarai berdasarkan satu syarat
  • Anda ingin menulis kod yang bersih dan ringkas untuk tugas-tugas mudah

Comprehension adalah cekap untuk pembersihan data dan matematik asas.

Perbezaannya

• Panjang Kod: Comprehension adalah lebih pendek. Gelung adalah lebih panjang. • Prestasi: Comprehension sering kali lebih pantas disebabkan oleh pengoptimuman dalaman. • Kebolehbacaan: Comprehension menang untuk tugas ringkas. Gelung menang untuk logik kompleks. • Fleksibiliti: Gelung menawarkan fleksibiliti yang jauh lebih tinggi untuk proses berbilang langkah.

Pendekatan yang Seimbang

Jangan paksa penggunaan comprehension jika ia menjadikan kod sukar dibaca.

Jika anda mendapati diri anda menulis comprehension dengan tiga atau lebih syarat, berhenti. Gunakan gelung tradisional sebagai ganti.

Tulis kod untuk manusia terlebih dahulu. Tulis kod untuk prestasi kedua.

Sumber: https://dev.to/shalinivemuri/list-comprehensions-vs-traditional-loops-in-python-4f6n

Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi