Seite 1 von 1

Sortierung - Steh auf dem Schlauch

Verfasst: Dienstag 21. Juni 2016, 13:08
von sublist
Hi Leute.

Wollte ein paar Duplikate ausortieren und kriegs nicht hin :oops:

Hab folgende Liste(per schleife ausgegeben):

Code: Alles auswählen

[u'pCube1', u'pCubeShape1']
[u'pCube2', u'pCubeShape1']
[u'pCube3', u'pCubeShape1']
[u'pCylinder1', u'pCylinderShape1']
[u'pCylinder2', u'pCylinderShape1']
[u'pCylinder3', u'pCylinderShape1']
Ich möchte jetzt die Dublikate loswerden, damit folgendes raus kommt:
Also von jedem Dupe immer der erste Eintrag

Code: Alles auswählen

[u'pCube1', u'pCubeShape1']
[u'pCylinder1', u'pCylinderShape1']

Dachte ich könnte das irgendwie so machen?

Code: Alles auswählen

wurst = []

for each in myInstances:
    if each[-1] not in wurst:
        wurst.append(each)

Re: Sortierung - Steh auf dem Schlauch

Verfasst: Dienstag 21. Juni 2016, 13:49
von Sirius3
`each` hat bei Dir ja zwei Elemente, Du kannst daher mit `in` nicht nur auf das zweite Element prüfen. Heißt also, Du brauchst einen Filter:

Code: Alles auswählen

wurst = []
for each in myInstances:
    if each[-1] not in (w[-1] for w in wurst):
        wurst.append(each)

Re: Sortierung - Steh auf dem Schlauch

Verfasst: Dienstag 21. Juni 2016, 14:17
von sublist
Hi. Danke für den Tip. Ich wusste nur nicht wie ich das machen soll.

Leider kommt bei deinem Code aber auch nicht das richtige raus..
Nur der erste Eintrag wird gefüllt:

Code: Alles auswählen

[u'pCube1', u'pCubeShape1']
:roll:

Kannst du die 2. Schleife vielleicht ausschreiben... Die einzeiligen schleifen verwirren mich noch :shock:

Re: Sortierung - Steh auf dem Schlauch

Verfasst: Dienstag 21. Juni 2016, 14:25
von Sirius3
@sublist: mit Deinem angegebenen Beispiel kommt bei mir das richtige Ergebnis raus, also machst Du noch irgendetwas anderes.

Re: Sortierung - Steh auf dem Schlauch

Verfasst: Dienstag 21. Juni 2016, 14:34
von sublist
Du hast natrülich recht! Ich Depp hatte noch ne alte Liste drin, sry! :oops:

Danke dir!