Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai Python Semasa Mengekalkan atau Mengabaikan Perintah?

Bagaimanakah Saya Boleh Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai Python Semasa Mengekalkan atau Mengabaikan Perintah?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 17:37:13804semak imbas

How Can I Efficiently Remove Duplicate Elements from a Python List While Maintaining or Ignoring Order?

Mengalih Keluar Pendua dalam Senarai

Menghapuskan elemen pendua daripada senarai adalah tugas yang kerap dalam pengaturcaraan. Di sini, kami membincangkan pelbagai kaedah untuk mengesan pendua dan menjana senarai unik.

Pendekatan 1: Menggunakan Set

Set ialah koleksi objek berbeza yang tidak tertib. Untuk membuat set daripada senarai, hantarkan sahaja kepada fungsi set(). Untuk membalikkan operasi, gunakan fungsi list().

t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8]
unique_list = list(set(t))  # [1, 2, 3, 5, 6, 7, 8]

Pendekatan 2: Memelihara Perintah

Jika mengekalkan susunan asal adalah penting, anda boleh menggunakan kaedah berikut:

a. OrderedDict

OrderedDict menjejaki susunan sisipan kunci. Mencipta senarai daripada kuncinya mengekalkan susunan.

from collections import OrderedDict
unique_list = list(OrderedDict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]

b. Kamus (Python 3.7 )

Bermula dengan Python 3.7, kamus mengekalkan susunan sisipan secara lalai.

unique_list = list(dict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]

Nota tentang Hashability

Adalah penting untuk ambil perhatian bahawa teknik yang dinyatakan di atas memerlukan elemen anda boleh dicincang, bermakna ia boleh digunakan sebagai kunci kamus. Objek tidak boleh cincang (cth., senarai) memerlukan pendekatan yang lebih perlahan melibatkan gelung bersarang.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai Python Semasa Mengekalkan atau Mengabaikan Perintah?. 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