Powiedz, że mam zestaw myset
obiektów niestandardowych, które mogą być równe, chociaż ich odwołania są różne (a == b and a is not b
). Teraz jeśli I add(a)
do zestawu, Python poprawnie zakłada, że a in myset and b in myset
, mimo że jest tylko obiekt len(myset) == 1
w zestawie.Python: Uzyskaj dostęp do elementów zestawu
To jasne. Ale czy teraz jest możliwe wyodrębnienie wartości a
z zestawu, używając tylko b
? Załóżmy, że obiekty są zmienne i chcę je zmienić, zapominając o bezpośrednim odnośniku do a
. Inaczej mówiąc, szukam operacji myset[b]
, która zwróci dokładnie element członkowski a
zestawu.
Wydaje mi się, że typ set
nie może tego zrobić (szybciej niż iterowanie przez wszystkie jego elementy). Jeśli tak, czy istnieje przynajmniej skuteczne obejście?
Dlaczego trzeba to zrobić? Jeśli masz już 'b', dlaczego potrzebujesz' a', który jest równy? –
To jedno wymaganie fugly ... –
@KarlKnechtel: element wewnątrz zestawu jest przywoływany gdzie indziej (z wnętrza głębokiej struktury) i chcę zmienić jego wartość. Obiekty są w zasadzie typu wektorowego 2D i są zmienne. – emu