Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mengalih keluar Objek Duplikat daripada Senarai dalam Python Semasa Memelihara Pesanan dan Menyemak Pertindihan Pangkalan Data?
Mengalih keluar Pendua daripada Senarai Objek dalam Python
Masalah:
Anda perlu mengalih keluar pendua objek daripada senarai sambil mengekalkan susunan dan menyemak pertindihan rekod pangkalan data.
Penyelesaian:
Untuk mengalih keluar pendua daripada senarai objek, anda boleh menggunakan bina- dalam fungsi set(). Walau bagaimanapun, ini memerlukan objek boleh cincang.
Mentakrifkan Pencincangan untuk Objek:
Untuk menjadikan objek boleh cincang, takrifkan kedua-dua kaedah __eq__ dan __hash__. Kaedah __eq__ menentukan sama ada dua objek adalah sama, manakala kaedah __hash__ mengira nilai cincang untuk objek.
Contoh Pelaksanaan Pencapaian:
Untuk objek Buku dengan nama_pengarang dan atribut tajuk, kaedah __eq__ boleh dilaksanakan sebagai:
<code class="python">def __eq__(self, other): return self.author_name == other.author_name and self.title == other.title</code>
Dan kaedah __hash__ boleh dilaksanakan sebagai:
<code class="python">def __hash__(self): return hash(('title', self.title, 'author_name', self.author_name))</code>
Menyemak Pertindihan Pangkalan Data:
Untuk menyemak pertindihan dengan pangkalan data, lakukan langkah berikut:
Memelihara Ketenteraman:
Fungsi set() mengalih keluar elemen pendua tetapi tidak mengekalkan susunan. Untuk mengekalkan susunan, gunakan list(set(myList)).
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar Objek Duplikat daripada Senarai dalam Python Semasa Memelihara Pesanan dan Menyemak Pertindihan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!