Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mengira Set Perbezaan Antara Senarai dengan Cekap dalam Python?

Bagaimana untuk Mengira Set Perbezaan Antara Senarai dengan Cekap dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-13 07:46:13774semak imbas

How to Efficiently Calculate Set Difference Between Lists in Python?

Tetapkan Perbezaan dalam Senarai Menggunakan Binaan Pythonic

Apabila bekerja dengan senarai, selalunya menjadi perlu untuk melaksanakan operasi seperti menolak satu senarai daripada yang lain . Dalam Python, operasi ini dikenali sebagai perbezaan set, dan ia melibatkan mengalih keluar semua elemen satu senarai yang juga berlaku dalam senarai yang lain.

Pendekatan naif untuk melakukan perbezaan set menggunakan gelung akan menjadi tidak cekap kerana linearnya. kerumitan masa. Walau bagaimanapun, Python menyediakan cara yang lebih cekap dan idiomatik untuk mencapai tugasan ini.

Penyelesaian Python: Pemahaman Senarai

Sintaks pemahaman senarai Python membolehkan tugasan manipulasi senarai yang ringkas dan cekap. Coretan kod berikut menunjukkan cara anda boleh melakukan perbezaan set menggunakan pemahaman senarai:

l1 = [1, 2, 6, 8]
l2 = [2, 3, 5, 8]
l3 = [x for x in l1 if x not in l2]
print(l3)  # Output: [1, 6]

Dalam kod ini, pemahaman senarai [x untuk x dalam l1 jika x bukan dalam l2] berulang melalui setiap elemen l1. Bagi setiap elemen x, ungkapan x tidak dalam l2 menyemak jika x tidak wujud dalam l2. Jika benar, x ditambah pada senarai l3 yang terhasil. Hasilnya, l3 mengandungi unsur l1 yang tidak terdapat dalam l2.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Set Perbezaan Antara Senarai dengan Cekap 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