Bagaimana Mengira Perbezaan Antara Dua Senarai dalam Python?

Linda Hamilton
Lepaskan: 2024-10-23 14:40:06
asal
218 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!