Seite 1 von 1

Liste überprüfen

Verfasst: Mittwoch 1. Februar 2012, 23:49
von waki
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ß

Re: Liste überprüfen

Verfasst: Mittwoch 1. Februar 2012, 23:58
von 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)