Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mencari Persimpangan Dua Senarai dengan Cekap dalam Python?

Bagaimanakah Saya Boleh Mencari Persimpangan Dua Senarai dengan Cekap dalam Python?

Linda Hamilton
Lepaskan: 2024-12-07 02:12:10
asal
887 orang telah melayarinya

How Can I Efficiently Find the Intersection of Two Lists in Python?

Mencari Persimpangan Senarai: Boolean DAN Operasi dan Set Persimpangan

Dalam Python, tugas biasa ialah mencari persilangan dua senarai, yang menghasilkan senarai baharu yang mengandungi unsur-unsur yang biasa kepada kedua-dua senarai input. Ini boleh dicapai menggunakan pelbagai kaedah.

Satu pendekatan biasa ialah menggunakan operasi logik "DAN", yang membandingkan setiap elemen senarai pertama dengan setiap elemen senarai kedua dan mengembalikan senarai baharu dengan hanya elemen yang sepadan. Walau bagaimanapun, pengendali "DAN" dalam Python tidak berfungsi secara langsung pada senarai. Ia memerlukan senarai input untuk ditukar kepada nilai logik, yang menjadi masalah dalam kes ini.

Pendekatan alternatif ialah menggunakan operator persimpangan yang ditetapkan (&). Set ialah koleksi unsur unik yang tidak tertib, jadi operasi ini mengembalikan objek set yang mengandungi hanya elemen yang terdapat dalam kedua-dua senarai input. Untuk mendapatkan senarai daripada set yang terhasil, ia boleh dihantar ke senarai menggunakan fungsi list().

Contohnya:

a = [1,2,3,4,5]
b = [1,3,5,6]
list(set(a) & set(b))
Salin selepas log masuk

Kod ini akan menghasilkan output berikut:

[1, 3, 5]
Salin selepas log masuk

Tetapkan persimpangan menyediakan cara yang mudah untuk melakukan persimpangan senarai, terutamanya apabila susunan elemen tidak penting dan pendua diabaikan. Ia membandingkan set untuk elemen biasa dengan cekap dan mengelakkan potensi isu dengan perbandingan logik pada senarai.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan