Dire che ho un set myset
di oggetti personalizzati che possono essere uguali anche se i loro riferimenti sono diversi (a == b and a is not b
). Ora se ho impostato il add(a)
sul set, Python presuppone correttamente che a in myset and b in myset
anche se nel set è presente solo l'oggetto len(myset) == 1
.Python: accesso ai membri di un set
Questo è chiaro. Ma è ora possibile estrarre il valore di a
in qualche modo dal set, usando solo ? Supponiamo che gli oggetti siano mutabili e voglio cambiarli entrambi, avendo dimenticato il riferimento diretto a a
. In altre parole, sto cercando l'operazione myset[b]
, che restituirebbe esattamente il membro a
del set.
Mi sembra che il tipo set
non riesca a farlo (più veloce dell'iterazione di tutti i suoi membri). Se è così, c'è almeno un efficace work-around?
Perché avete bisogno di fare questo? Se hai già 'b', perché hai bisogno di' a', che è uguale? –
Questo è un requisito fugace ... –
@KarlKnechtel: l'elemento all'interno del set viene referenziato da qualche altra parte (all'interno di una struttura profonda) e voglio cambiarne il valore. Gli oggetti sono fondamentalmente di tipo vettoriale 2D e sono mutabili. – emu