Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Senarai Semasa Mengekalkan Pesanan Asal dalam Python?

Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Senarai Semasa Mengekalkan Pesanan Asal dalam Python?

Barbara Streisand
Lepaskan: 2024-12-23 07:01:07
asal
849 orang telah melayarinya

How Can I Remove Duplicates from a List While Maintaining Original Order in Python?

Mengendalikan Pendua sambil Memelihara Susunan Senarai

Apabila bekerja dengan senarai yang mengandungi unsur pendua, selalunya wajar untuk mengalih keluarnya sambil mengekalkan susunan asal. Menggunakan set untuk mencapai ini, kerana ia mengabaikan urutan asal. Walau bagaimanapun, Python menawarkan beberapa pendekatan alternatif yang mengekalkan susunan sambil mengalih keluar pendua.

Fungsi Terbina Dalam dan Idiom Pythonic

  • Tanda Aras Peter Be: https://www.peterbe.com/plog/uniqifiers-benchmark
  • Penyelesaian Terpantas:
def f7(seq):
    seen = set()
    seen_add = seen.add
    return [x for x in seq if not (x in seen or seen_add(x))]
Salin selepas log masuk

Penyelesaian ini memberikan seen.add ke seen_add untuk kecekapan, seperti panggilan dilihat. tambah berulang kali semasa lelaran gelung boleh memperkenalkan overhed prestasi kerana bahasa dinamik Python alam semula jadi.

  • Set Tempahan (Resipi): https://code.activestate.com/recipes/528878-ordered-set/
  • Sifat Set Dipesan:

    • O(1) operasi sisipan, pemadaman dan semak ahli
  • Nota: Menggunakan "atau" selepas dilihat.tambah dalam kod di atas hanyalah satu mekanisme untuk mencuba set kemas kini, bukan bahagian penting dalam ujian logik.

Dengan menggunakan kaedah ini, pembangun boleh mengalih keluar elemen pendua daripada senarai tanpa mengorbankan pesanan asal, memenuhi senario manipulasi data tertentu.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Pendua daripada Senarai Semasa Mengekalkan Pesanan Asal dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan