Angenommen, ich habe eine Menge myset
von benutzerdefinierten Objekten, die gleich sein können, obwohl ihre Referenzen unterschiedlich sind (a == b and a is not b
). Jetzt, wenn ich add(a)
zum Set, nimmt Python korrekt an, dass a in myset and b in myset
, obwohl es nur len(myset) == 1
Objekt im Set gibt.Python: Zugriff auf Mitglieder eines Satzes
Das ist klar. Aber ist es jetzt möglich, den Wert a
irgendwie aus dem Set zu extrahieren, nur b
? Angenommen, die Objekte sind änderbar und ich möchte sie beide ändern, wobei ich den direkten Verweis auf a
vergessen habe. Anders ausgedrückt, suche ich nach der myset[b]
Operation, die genau das Mitglied a
des Satzes zurückgeben würde.
Es scheint mir, dass der Typ set
dies nicht tun kann (schneller als Iterieren durch alle seine Mitglieder). Wenn ja, gibt es zumindest einen effektiven Work-around?
Warum brauchen Sie, dies zu tun? Wenn du schon 'b' hast, warum brauchst du' a', was gleich ist? –
Das ist eine fugly Voraussetzung ... –
@KarlKnechtel: das Element innerhalb der Menge wird von woanders referenziert (von innerhalb einer tiefen Struktur) und ich möchte seinen Wert ändern. Die Objekte sind grundsätzlich vom 2D-Vektortyp und sie sind veränderbar. – emu