Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai Python?

Bagaimanakah Saya Boleh Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-03 16:24:11474semak imbas

How Can I Efficiently Remove Duplicate Elements from a Python List?

Mengalih Keluar Pendua daripada Senarai Python

Pernyataan Masalah

Memandangkan senarai nilai, ekstrak elemen unik daripada senarai.

Penyelesaian 1: Gelung melalui Senarai

Satu pendekatan adalah untuk mengulangi setiap elemen dalam senarai dan tambahkannya ke senarai baharu jika ia belum ada. Ini ditunjukkan dalam kod berikut:

output = []
for x in trends:
    if x not in output:
        output.append(x)

Penyelesaian 2: Tukar kepada Set

Pendekatan yang lebih pythonic ialah menggunakan set untuk mengalih keluar pendua. Set ialah koleksi unsur unik yang tidak tertib. Anda boleh menukar senarai kepada set dan kemudian menukarnya kembali kepada senarai untuk mengekalkan susunan.

mylist = ['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow']
myset = set(mylist)
mynewlist = list(myset)

Penyelesaian 3: Gunakan Set Pada Mulanya

Anda juga boleh menggunakan set daripada permulaan, yang sememangnya unik. Pendekatan ini lebih pantas daripada mencipta senarai dan menukarnya kepada set.

output = set()
for x in trends:
    output.add(x)

Pertimbangan

  • Set tidak mengekalkan susunan asal unsur. Jika mengekalkan perintah itu perlu, pertimbangkan pelaksanaan set tersusun.
  • Jika senarai itu kecil, menggelungkannya ialah penyelesaian yang boleh diterima. Untuk senarai yang lebih besar, menggunakan set adalah lebih cekap.

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