Sortierung - Steh auf dem Schlauch

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
sublist
User
Beiträge: 33
Registriert: Donnerstag 11. Dezember 2008, 16:04

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)
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

`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)
sublist
User
Beiträge: 33
Registriert: Donnerstag 11. Dezember 2008, 16:04

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:
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@sublist: mit Deinem angegebenen Beispiel kommt bei mir das richtige Ergebnis raus, also machst Du noch irgendetwas anderes.
sublist
User
Beiträge: 33
Registriert: Donnerstag 11. Dezember 2008, 16:04

Du hast natrülich recht! Ich Depp hatte noch ne alte Liste drin, sry! :oops:

Danke dir!
Antworten