Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengekalkan Susunan Senarai Selepas Menukar kepada Set dalam Python?

Bagaimanakah Saya Boleh Mengekalkan Susunan Senarai Selepas Menukar kepada Set dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-12-10 18:56:10
asal
951 orang telah melayarinya

How Can I Maintain List Order After Converting to a Set in Python?

Memelihara Susunan Senarai Apabila Menukar kepada Set

Apabila menukar senarai kepada set dalam Python, susunan elemen mungkin berubah disebabkan set menjadi struktur data tidak teratur. Tingkah laku ini boleh menyusahkan jika anda perlu mengekalkan pesanan asal.

  1. Sebab Perubahan Pesanan

Set direka bentuk untuk menyediakan carian keahlian pantas dengan menyimpan elemen sebagai nilai cincang. Susunan elemen yang ditambahkan pada set tidak dipelihara, jadi apabila anda menukar senarai kepada set, elemen disusun semula untuk mengoptimumkan kecekapan carian.

  1. Memelihara Pesanan dengan Operasi Set

a. Pemahaman Senarai

Jika anda perlu mengalih keluar elemen tertentu daripada senarai sambil mengekalkan susunan, anda boleh menggunakan pemahaman senarai. Contohnya:

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

b. OrderedDict (Python 3.7 )

Untuk Python versi 3.7 dan ke atas, anda boleh menggunakan collections.OrderedDict untuk mencipta set tersusun. Ia mengekalkan susunan elemen, walaupun selepas operasi yang ditetapkan.

from collections import OrderedDict

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

c. OrderedSet (Versi Python Lama)

Dalam versi Python yang lebih lama, anda boleh menggunakan pakej orderedset untuk mencapai fungsi yang serupa:

import orderedset

a = orderedset.OrderedSet([1, 2, 20, 6, 210])
b = orderedset.OrderedSet([6, 20, 1])
result = orderedset.OrderedSet(x for x in a if x not in b)
Salin selepas log masuk

Dengan menggunakan teknik ini, anda boleh melakukan operasi set sambil mengekalkan susunan senarai asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Susunan Senarai Selepas Menukar kepada Set 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