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
Barbara Streisandasal
2024-12-21 13:38:09660semak imbas

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']

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']

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))

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}

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}

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!

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