Wie kann sichergestellt werden, dass die Liste eindeutige Elemente enthält?

7

Ich habe eine Klasse mit einer Liste von Strings. Sprich:

%Vor%

Ich muss erzwingen, dass diese Liste von Strings eindeutige Elemente enthält. Leider kann ich diese list_of_strings nicht in einen anderen Typ wie einen Satz ändern.

In der Funktion addToList(str_to_add) möchte ich die String-Eindeutigkeit garantieren. Wie kann ich das am besten machen? Wäre es praktisch, die hinzuzufügende Zeichenkette der Liste hinzuzufügen, in eine Menge zu konvertieren, dann zurück zu einer Liste und diese dann dem Objekt neu zuzuordnen?

Hier ist die Methode, die ich aktualisieren muss:

%Vor%

Danke!

    
Cuga 20.01.2011, 04:21
quelle

5 Antworten

21
%Vor%     
ephemient 20.01.2011, 04:23
quelle
4

Entweder prüfen Sie, ob die Zeichenfolge in der Liste mit in vorhanden ist, oder verwenden Sie parallel eine set , die Sie überprüfen und hinzufügen können.

    
Ignacio Vazquez-Abrams 20.01.2011 04:23
quelle
1

Sie könnten zwar die von Ihnen beschriebene Liste-zu-Satz-zu-Liste-Operation ausführen, aber Sie könnten auch den in -Operator verwenden, um zu prüfen, ob das Element bereits in der Liste ist, bevor Sie es anhängen.

    
icktoofay 20.01.2011 04:23
quelle
0

Eine Möglichkeit, dies zu tun, wäre, einen Hash-Satz zu erstellen und durch die Liste zu iterieren, wobei die Elemente zum Satz hinzugefügt werden; Eine zweite Iteration könnte verwendet werden, um alle Duplikate zu entfernen.

    
void-pointer 20.01.2011 04:26
quelle
0

Vielleicht können wir das so machen:

def addToList (self, str_to_add):

%Vor%

Nun, ich weiß nicht, ob es bei if / else noch der gleiche Mechanismus ist.

    
Walker 03.02.2016 02:24
quelle

Tags und Links