Hinweis: eine Erweiterung der jrc-Antwort, da die Verwendung von OrderDict nicht in dieser Antwort enthalten ist.
Eine schöne Erklärung mit passendem Beispiel finden Sie unter OrderedSet in Python 3.7 und früher erstellen
Hierfür gibt es zwei Möglichkeiten - (1) collections.OrderedDict und (2) dict
First wird für Python vor 3.7 verwendet und later für Python 3.7 und höher.
Erstellen Sie eine geordnete Menge in Python 3.7 und höher wie unten gezeigt -
keywords = ['hello', 'aurav', 'hello', 'narendra', 'foo', 'foo']
sampleList = list(dict.fromkeys(keywords))
print(type(sampleList))
for item in sampleList:
print(item)
Wenn das obige Programm ausgeführt wird, lautet die Ausgabe -
<class 'list'>
hello
aurav
narendra
foo
Prüfen Sie, wie Sie OrderedSet mit OrderDict aus Sammlungen erstellen
26 Stimmen
Was ist mit dem Converse, einer Tasche voller Dinge? (ungeordnet und nicht einmalig)
28 Stimmen
@wim
collections.Counter
ist die Tasche von Python.4 Stimmen
Was passiert, wenn etwas zweimal hinzugefügt wird? Wie sollte die Position lauten?
7 Stimmen
@McKay - wenn es dem Verhalten von collections.OrderDict folgen würde, wäre es immer noch an der Stelle des ursprünglichen Zusatzes
15 Stimmen
Achtung: einige Antworten sind veraltet. Z.B.,
dict
ist jetzt nach Einfügung geordnet (garantiert seit Python 3.7)0 Stimmen
^^+1 Siehe Antwort unten: stackoverflow.com/a/53657523/3559330 . Dicts erhalten die Reihenfolge in Python 3.7+. Ansonsten verwenden Sie OrderedDict.
1 Stimmen
From sortedcontainers import Sorted*
0 Stimmen
pypi.org/project/ordered-set
0 Stimmen
Wenn Sie speziell eine geordnete Menge benötigen, um eine Liste zu deduplizieren, lesen Sie bitte stackoverflow.com/questions/480214 .