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

Bagaimanakah Saya Boleh Mencari Perbezaan Unik Antara Dua Senarai dengan Cekap dalam Python?

Barbara Streisand
Lepaskan: 2024-12-21 13:38:09
asal
698 orang telah melayarinya

How Can I Efficiently Find the Unique Differences Between Two Lists in Python?

Mencari Perbezaan Unik Antara Senarai

Apabila berurusan dengan berbilang senarai, selalunya perlu membandingkannya dan mengenal pasti perbezaan dalam elemennya. Dalam Python, satu cara yang cekap untuk melakukan ini ialah mencari perbezaan yang ditetapkan antara dua senarai.

Contoh:

Pertimbangkan dua senarai berikut dengan elemen unik:

temp1 = ['One', 'Two', 'Three', 'Four']
temp2 = ['One', 'Two']
Salin selepas log masuk

Objektif:

Buat senarai ketiga (temp3) yang mengandungi unsur-unsur daripada temp1 yang tidak terdapat dalam temp2. Dalam kes ini, output yang dijangkakan ialah:

temp3 = ['Three', 'Four']
Salin selepas log masuk

Penyelesaian:

Untuk mengelak daripada menggunakan gelung atau perbandingan eksplisit, jenis data yang ditetapkan boleh dimanfaatkan untuk mencari dengan cekap perbezaan antara keduanya senarai:

temp3 = list(set(temp1) - set(temp2))
Salin selepas log masuk

Penjelasan:

  1. set(temp1) menukar temp1 kepada set, yang merupakan koleksi unsur unik yang tidak tertib.
  2. set(temp2) mencipta set lain daripada temp2.
  3. set(temp1) - set(temp2) melakukan operasi perbezaan set, yang mengalih keluar elemen yang hadir dalam set(temp2) daripada set(temp1).
  4. Set yang terhasil ditukar kembali kepada senarai menggunakan list() untuk mengekalkan susunan elemen .

Asimetri dalam Perbezaan Set:

Perhatikan bahawa perbezaan set bukan komutatif. Ini bermakna set(temp1) - set(temp2) tidak semestinya sama dengan set(temp2) - set(temp1). Contohnya:

set([1, 2]) - set([2, 3]) == {1}
set([2, 3]) - set([1, 2]) == {3}
Salin selepas log masuk

Jika hasil yang diingini ialah memasukkan elemen yang unik kepada kedua-dua set, kaedah symmetric_difference() boleh digunakan:

set([1, 2]).symmetric_difference(set([2, 3])) == {1, 3}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Perbezaan Unik Antara 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