Liste überprüfen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
waki
User
Beiträge: 133
Registriert: Dienstag 9. März 2010, 16:41

Hey,
habe gerade ein kleines Problem:

Ich habe diese Liste:

Code: Alles auswählen

list = [[a , b, c, d, e], ...]
Die Elemente der Liste sind immer gleich aufgebaut, also wieder eine Liste mit 5 Variabeln. Nun will ich die erste Liste aussortieren, damit kein Element doppelt vorhanden ist. Jedoch soll auch darauf geachtet werden, dass kein Element mit den gleichen Variabeln, nur in vertauschter Reihenfolge vorkommt. Und am Schluss will ich eine neue Liste, wo jedes Element(unabhängig von der inneren Reihenfolge) nur einmal darin ist.

Ich habe selber schon experimentiert, bin jedoch auf keine Lösung gekommen die mir das ganze für 60.000 Elemente in einer annehmbaren Zeit macht. Könnte mir jemand helfen?


Gruß
BlackJack

@waki: Welche Elemente bestehen aus Listen mit 5 Werten? Meinst Du die Auslassungspunkte stehen für solche Listen, oder jeder Buchstabe steht für so eine Liste?

Die Listen enthalten übrigens *Werte* und keine Variablen. Eine Variable besteht aus einem Namen und einem dazugehörigen Wert.

Müssen es Listen sein, oder dürfen die Elemente auch in Tupel umgewandelt werden? Ist die Reihenfolge wichtig? Falls Tupel okay sind, und die Reihenfolge der Elemente sowie der Subelemente, dann könnte man das einfach mit einem `set()` erledigen (ungetestet):

Code: Alles auswählen

result = set(tuple(sorted(items)) for items in a_list)
Antworten