Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Mengenoperationen ausführen und dabei die ursprüngliche Reihenfolge der Elemente beibehalten?

Wie kann ich Mengenoperationen ausführen und dabei die ursprüngliche Reihenfolge der Elemente beibehalten?

Mary-Kate Olsen
Freigeben: 2024-12-16 16:41:10
Original
248 Leute haben es durchsucht

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

Mengenoperationen und Beibehaltung der Reihenfolge

Beim Konvertieren einer Liste in eine Menge ändert sich die Reihenfolge der Elemente, da Mengen ungeordnete Datenstrukturen sind, die schnell Prioritäten setzen Mitgliedschaftstests. Sie behalten nicht die ursprüngliche Einfügereihenfolge bei.

Behalten der Reihenfolge bei Set-Operationen

Um Set-Operationen auszuführen, ohne die ursprüngliche Reihenfolge zu verlieren, ziehen Sie die folgenden Optionen in Betracht:

1. Listenverständnis für Mengenunterschiede

Wenn Sie eine reguläre Liste haben und eine Menge von Elementen entfernen und dabei die Reihenfolge beibehalten müssen, verwenden Sie ein Listenverständnis:

a = [1, 2, 20, 6, 210]
b = set([6, 20, 1])
[x for x in a if x not in b]  # [2, 210]
Nach dem Login kopieren

2 . Wörterbuchschlüssel für geordnete Mengen

Für eine Datenstruktur mit schnellen Mitgliedschaftstests und Beibehaltung der Einfügereihenfolge verwenden Sie die Schlüssel eines Python-Wörterbuchs (ab 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}
Nach dem Login kopieren

3. Collections.OrderedDict (Legacy-Unterstützung)

Für ältere Python-Versionen verlassen Sie sich auf Sammlungen.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)])
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Mengenoperationen ausführen und dabei die ursprüngliche Reihenfolge der Elemente beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage