Mengalih Keluar Pendua dalam Senarai
Mengenal pasti dan menghapuskan elemen pendua daripada senarai ialah tugas asas dalam pengaturcaraan. Artikel ini meneroka pelbagai kaedah untuk mencapai matlamat ini, dengan mengambil kira pemeliharaan ketenteraman dan kecekapan penyelesaian.
Menggunakan Set untuk Penyingkiran Penduaan yang Cekap
Sebuah yang mudah dan cekap pendekatan untuk mengalih keluar pendua daripada senarai ialah menukarnya kepada set. Menetapkan koleksi tersusun semula elemen unik. Dengan menukar senarai kepada set, semua pendua dialih keluar secara automatik. Untuk mencipta semula senarai tanpa pendua, set yang diubah suai boleh ditukar kembali kepada senarai menggunakan fungsi list().
Pertimbangkan contoh di bawah:
t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8] unique_list = list(set(t))
Hasilnya, unique_list, akan jadi [1, 2, 3, 5, 6, 7, 8], dengan semua pendua dialih keluar.
Memelihara Perintah dengan OrderedDict atau Kamus
Jika mengekalkan susunan asal unsur adalah penting, set tidak boleh digunakan kerana ia adalah koleksi tidak tertib. Sebaliknya, seseorang boleh bergantung pada OrderedDict atau kamus untuk mengekalkan susunan sisipan.
Menggunakan OrderedDict:
from collections import OrderedDict ordered_unique_list = list(OrderedDict.fromkeys(t))
Menggunakan kamus (Python 3.7 atau lebih baru):
unique_list = list(dict.fromkeys(t))
Kedua-dua pendekatan mengembalikan senarai dengan pendua dialih keluar sambil mengekalkan yang asal pesanan.
Pertimbangan Prestasi
Menukar senarai kepada set dan kembali kepada senarai adalah cekap, tetapi ia mungkin memperkenalkan overhed tambahan. Jika pesanan itu tidak penting, menggunakan set biasanya lebih disukai kerana kelajuan dan kepelbagaiannya. Walau bagaimanapun, jika pesanan mesti dikekalkan, pendekatan OrderedDict atau kamus menyediakan pilihan yang berdaya maju.
Mengendalikan Item Tidak Boleh Hash
Perhatikan bahawa set, OrderedDict dan penyelesaian kamus memerlukan elemen dalam senarai boleh dicincang. Untuk elemen tidak boleh cincang (cth., senarai), pendekatan yang lebih perlahan menggunakan gelung bersarang diperlukan untuk membandingkan setiap elemen dengan setiap elemen lain.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Pendua dengan Cekap dari Senarai dalam Python Semasa Mengekalkan atau Mengabaikan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!