Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Menukar Senarai kepada Set Mengubah Susunan, dan Bagaimana Saya Boleh Mengekalkannya?

Mengapa Menukar Senarai kepada Set Mengubah Susunan, dan Bagaimana Saya Boleh Mengekalkannya?

Linda Hamilton
Lepaskan: 2024-12-30 22:18:13
asal
319 orang telah melayarinya

Why Does Converting a List to a Set Change the Order, and How Can I Preserve It?

Pesan Perubahan dalam Set Penukaran

Apabila menukar senarai kepada set dalam Python, susunan elemen nampaknya diubah suai. Ini boleh membingungkan, kerana senarai mengekalkan susunan elemennya, manakala set ialah struktur data tidak tertib. Sebab percanggahan ini terletak pada sifat asas set.

Set direka bentuk untuk melaksanakan ujian keahlian yang cekap dan tidak mengekalkan susunan sisipan elemen. Ini kerana set diwakili secara dalaman sebagai jadual cincang, di mana unsur-unsur disimpan dalam cara yang tersusun untuk carian yang lebih pantas.

Cara Mengekalkan Pesanan

Jika anda memerlukan pemeliharaan mengikut susunan dalam koleksi data anda, terdapat beberapa alternatif untuk menggunakan set:

  • Pemahaman Senarai: Untuk melaksanakan operasi set sambil mengekalkan susunan asal, gunakan pemahaman senarai. Contohnya, untuk mengalih keluar elemen daripada senarai A berdasarkan set B, gunakan kod berikut:
B = set([6, 20, 1])
result = [x for x in A if x not in B]
Salin selepas log masuk
  • Kamus Tertib (Python 3.7 ): Python kamus kini menyediakan fungsi OrderedDict, memastikan pemeliharaan pesanan sisipan. Untuk melaksanakan operasi set:
import collections
A = collections.OrderedDict.fromkeys([1, 2, 20, 6, 210])
B = collections.OrderedDict.fromkeys([6, 20, 1])
result = collections.OrderedDict.fromkeys(x for x in A if x not in B)
Salin selepas log masuk
  • Versi Python Lama: Untuk versi Python sebelum 3.7, gunakan modul collections.OrderedDict.

Atas ialah kandungan terperinci Mengapa Menukar Senarai kepada Set Mengubah Susunan, dan Bagaimana Saya Boleh Mengekalkannya?. 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