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.
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.
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]
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)])
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)
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!