Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Semak Syarat dengan Cekap pada Elemen Senarai dalam Python?

Bagaimanakah Saya Boleh Semak Syarat dengan Cekap pada Elemen Senarai dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 01:27:12827semak imbas

How Can I Efficiently Check Conditions on List Elements in Python?

Menyemak Syarat pada Elemen Senarai: Pendekatan Cekap

Dalam Python, menentukan sama ada semua elemen senarai memenuhi syarat tertentu adalah tugas biasa . Melintasi senarai dengan gelung sementara atau gelung untuk boleh menjadi tidak cekap dan terdedah kepada ralat. Berikut ialah dua penyelesaian yang dioptimumkan menggunakan fungsi terbina dalam Python:

Menggunakan semua() untuk Semua Syarat Benar:

Fungsi all() mengembalikan True jika semua elemen boleh lelar (seperti senarai) memenuhi syarat. Ini memudahkan kod dengan ketara:

def check_all(list_):
  return all(item[2] == 0 for item in list_)

Menggunakan sebarang() untuk Sekurang-kurangnya Satu Keadaan Benar:

Fungsi any() mengembalikan True jika sekurang-kurangnya satu elemen memenuhi syarat:

def check_any(list_):
  return any(item[2] == 0 for item in list_)

Fungsi ini boleh digunakan dalam algoritma anda untuk menyemak bendera cekap:

while check_all(my_list):
    # Process elements with flag 0

Petua Tambahan:

  • Ekspresi penjana boleh meningkatkan kebolehbacaan kod sambil mengekalkan kecekapan.
  • Elakkan mengubah suai senarai semasa mengulang atas mereka; gunakan bendera sebaliknya.
  • Untuk keadaan yang melibatkan perbandingan elemen dengan bekas lain, pertimbangkan fungsi khusus seperti dalam dan bukan dalam untuk prestasi optimum.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Semak Syarat dengan Cekap pada Elemen Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn