Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Mengira Perbezaan Antara Dua Senarai dalam Python?

Bagaimana Mengira Perbezaan Antara Dua Senarai dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-10-23 14:40:06218semak imbas

How to Compute the Difference Between Two Lists in Python?

Penolakan Senarai

Matlamatnya adalah untuk mengira perbezaan antara dua senarai, x dan y, menghasilkan senarai baharu yang mengandungi unsur daripada x yang tidak terdapat dalam y.

Penyelesaian 1: Pemahaman Senarai

Untuk mengekalkan susunan asal daripada x, gunakan pemahaman senarai untuk menyemak elemen yang tiada dalam y:

<code class="python">[item for item in x if item not in y]</code>

Penyelesaian 2: Tetapkan Perbezaan

Jika susunan elemen dalam senarai yang terhasil tidak penting, perbezaan set boleh digunakan:

<code class="python">list(set(x) - set(y))</code>

Penyelesaian 3: Mengatasi sub

Untuk mendayakan sintaks infix x - y untuk penolakan senarai, kelas tersuai boleh dibuat yang mengatasi kaedah __sub__ untuk melaksanakan tingkah laku yang diingini:

<code class="python">class MyList(list):
    def __sub__(self, other):
        return self.__class__(*[item for item in self if item not in other])</code>

Dengan kelas ini, penolakan boleh dilakukan seperti berikut:

<code class="python">x = MyList(1, 2, 3, 4)
y = MyList(2, 5, 2)
z = x - y   </code>

Atas ialah kandungan terperinci Bagaimana Mengira Perbezaan Antara Dua Senarai 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