Lua: Der intelligenteste Weg, der Tabelle nur dann hinzuzufügen, wenn sie nicht bereits in der Tabelle vorhanden ist, oder Duplikate zu entfernen

8

Ich habe eine Tabelle mit Strings. Ich möchte eine einfache Möglichkeit, alle Duplikate der Tabelle zu entfernen.

Wenn also die Tabelle {a, b, c, c, d, e, e} ist, wäre nach dieser Operation {a, b, c, d, e}

Alternativ und wahrscheinlich am besten, gibt es eine Möglichkeit, ein Element zu einer Tabelle hinzuzufügen, aber nur, wenn es nicht bereits in der Tabelle enthalten ist.

& lt; \ noobquestion & gt;

    
Colton Phillips 08.07.2011, 00:56
quelle

3 Antworten

7

Was ich normalerweise dafür tue, ist die Tabelle auf der Zeichenkette zu indexieren, also zum Beispiel

%Vor%

usw.

Wenn Sie eine Zeichenfolge hinzufügen, verwenden Sie einfach die obigen Zeilen und Duplikate werden berücksichtigt. Sie können dann eine for ... pairs do-Schleife verwenden, um die Daten zu lesen.

Wenn Sie die Anzahl der Vorkommen zählen möchten

benutze etwas wie

%Vor%

Wenn Sie den Tisch umdrehen müssen, können Sie am Ende des Additionszyklus einfach etwas wie

verwenden %Vor%     
Jane T 08.07.2011, 06:55
quelle
8

Es klingt, als wollten Sie ein Set implementieren, eine Sammlung einzigartiger Elemente. Dieser Artikel könnte Ihnen helfen: Ссылка

    
2rs2ts 08.07.2011 00:58
quelle
4

Der einfachste Weg besteht darin, die Tabellen als Schlüssel und nicht als Werte in Ihrer "Container-Tabelle" zu verwenden.

Rufen wir die Containertabelle values auf. Sie müssen derzeit etwas ähnliches tun, um Elemente hinzuzufügen:

%Vor%

Und Sie parsen values so:

%Vor%

Um die Tabellen nur einmal zu haben, können Sie sie auf andere Weise einfügen:

%Vor%

Dadurch wird sichergestellt, dass die eingefügten Werte (Strings, Tabellen, Zahlen, was auch immer) nur einmal enthalten sind, da sie überschrieben werden.

Dann können Sie t wie folgt parsen:

%Vor%     
kikito 08.07.2011 14:04
quelle

Tags und Links