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

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

Barbara Streisand
Lepaskan: 2024-12-06 05:59:12
asal
541 orang telah melayarinya

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

Senarai Bersilang: Menangkap Elemen Bertindih

Dalam teka-teki pengaturcaraan ini, kami mencari penyelesaian untuk menentukan persilangan dua senarai, mengenal pasti yang biasa unsur antara mereka. Memandangkan dua senarai, 'a' dan 'b', tugasnya adalah untuk mencari senarai yang mengandungi hanya elemen yang dikongsi oleh kedua-dua senarai.

Pernyataan Masalah: Boolean DAN Operasi pada Senarai

Pertimbangkan coretan kod berikut:

a = [1,2,3,4,5]
b = [1,3,5,6]
c = a and b
print c
Salin selepas log masuk

Apabila melaksanakan kod ini, seseorang mungkin jangkakan keluaran '[1,3,5]' sebagai persilangan senarai 'a' dan 'b'. Walau bagaimanapun, output sebenar ialah '[1,3,5,6]', yang merangkumi elemen yang tidak terdapat dalam persimpangan.

Penyelesaian: Menggunakan Set Persimpangan

Untuk mencapai operasi boolean DAN (persimpangan senarai) pada dua senarai, mengelakkan pendua dan mengekalkan susunan, kami boleh memanfaatkan persimpangan set. Set ialah koleksi unsur unik yang tidak tertib. Dengan menukar senarai kepada set, mengambil persilangannya dan menukar set yang terhasil kembali kepada senarai, kita boleh memperoleh hasil yang diingini:

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

Penyelesaian ini dengan cekap mengenal pasti dan mengembalikan hanya elemen yang dimiliki oleh kedua-duanya. senarai, memberikan gambaran ringkas persimpangan mereka.

Atas ialah kandungan terperinci Bagaimanakah Kita 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