Memelihara Pesanan Semasa Mengalih Keluar Pendua daripada Senarai
Mengalih keluar elemen pendua daripada senarai sambil mengekalkan susunan asal boleh menjadi satu cabaran, kerana menggunakan set untuk menghapuskan pendua biasanya mengganggu urutan awal.
Untuk menangani perkara ini isu, komuniti Python telah membangunkan pelbagai penyelesaian terbina dalam dan idiomatik. Salah satu pilihan paling cekap ialah fungsi yang dikenali sebagai f7, yang memanfaatkan set untuk mengesan dan mengalih keluar pendua dengan cekap:
def f7(seq): seen = set() seen_add = seen.add return [x for x in seq if not (x in seen or seen_add(x))]
Fungsi ini menggunakan set yang dinamakan dilihat untuk mengenal pasti dan mengalih keluar pendua dengan pantas. Pengoptimuman rahsia terletak pada menugaskan seen.add kepada seen_add sebagai pembolehubah setempat. Ini menghalang Python daripada menyelesaikan secara dinamik seen.add pada setiap lelaran, yang boleh membawa kepada kemerosotan prestasi kerana potensi untuk dilihat.tambah kepada perubahan.
Alternatif lain, seperti struktur data set tersusun daripada ActiveState, adalah juga tersedia jika anda menjangkakan melakukan operasi pengalihan keluar pendua yang kerap pada set data yang sama.
Adalah penting untuk ambil perhatian bahawa dalam kod yang disediakan, seen.add() secara konsisten mengembalikan Tiada, memerlukan penggunaan logik atau operator sebagai kaedah untuk mencetuskan kemas kini yang ditetapkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Pendua dengan Cekap dari Senarai Semasa Memelihara Pesanan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!