Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Melaksanakan Operasi Set Sambil Mengekalkan Susunan Elemen Asal?

Bagaimanakah Saya Boleh Melaksanakan Operasi Set Sambil Mengekalkan Susunan Elemen Asal?

Mary-Kate Olsen
Lepaskan: 2024-12-16 16:41:10
asal
248 orang telah melayarinya

How Can I Perform Set Operations While Preserving the Original Order of Elements?

Tetapkan Operasi dan Pemeliharaan Tertib

Apabila menukar senarai kepada set, susunan elemen berubah kerana set adalah struktur data tidak tertib yang mengutamakan cepat ujian keahlian. Mereka tidak mengekalkan susunan sisipan asal.

Memelihara Susunan dalam Operasi Set

Untuk melaksanakan operasi set tanpa kehilangan susunan awal, pertimbangkan pilihan berikut:

1. Senaraikan Pemahaman untuk Perbezaan Set

Jika anda mempunyai senarai biasa dan perlu mengalih keluar set elemen sambil mengekalkan susunan, gunakan pemahaman senarai:

a = [1, 2, 20, 6, 210]
b = set([6, 20, 1])
[x for x in a if x not in b]  # [2, 210]
Salin selepas log masuk

2 . Kunci Kamus untuk Set Tertib

Untuk struktur data dengan ujian keahlian pantas dan pemeliharaan susunan sisipan, gunakan kekunci kamus Python (bermula daripada Python 3.7):

a = dict.fromkeys([1, 2, 20, 6, 210])
b = dict.fromkeys([6, 20, 1])
dict.fromkeys(x for x in a if x not in b)  # {2: None, 210: None}
Salin selepas log masuk

3. Collections.OrderedDict (Sokongan Legasi)

Untuk versi Python yang lebih lama, bergantung pada koleksi.OrderedDict:

a = collections.OrderedDict.fromkeys([1, 2, 20, 6, 210])
b = collections.OrderedDict.fromkeys([6, 20, 1])
collections.OrderedDict.fromkeys(x for x in a if x not in b)  # OrderedDict([(2, None), (210, None)])
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Operasi Set Sambil Mengekalkan Susunan Elemen Asal?. 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