Ich habe eine Liste, die so etwas geht, und neuer Inhalt wird in einer Schleife hinzugefügt.Vergleichen Sie nur einen Teil von zwei der drei Elemente in Triple
list = [("banana", "a", 0), ("banana", "b", 1), ("coconut", "a", 2)]
In der Schleife Ich möchte Elemente hinzufügen wie folgt:
list.append(("strawberry", "b", 4))
aber dies kann nicht auftreten, wenn das erste und das zweite Element in dieser Reihenfolge zusammen bereits in der Liste enthalten ist. Zum Beispiel kann die folgende Liste nicht zu list
hinzugefügt werden, da der erste Artikel bereits "Banane" zusammen mit "a" enthält.
("banana", "a", 5) # Should NOT be appended
("banana", "c", 6) # SHOULD be appended
("strawberry", "a", 7) # SHOULD be appended
In einer regelmäßigen Liste wir Duplikate so etwas wie die folgenden tun würden zu vermeiden:
if not item in list:
list.append(item)
aber beachten Sie, dass mein Fall nur teilweise doppelte mit sich bringt, dh die ersten beiden Elemente nicht zwischen identisch sein können Unterlisten.
Ich bin auf der Suche nach einer sehr effizienten Lösung, weil die Liste Tausende von Elementen enthalten kann.
Ich denke, dass du eigentlich "liste.append" (("Erdbeere", "b", 4)) '(besser) oder' liste.extend ([("Erdbeere", "b", 4)]) 'statt' liste.extend (("erdbeere", "b", 4)) ' – janbrohl
@jankrohl Sie haben Recht! Bearbeitet. –