Zasadniczo mam listę taką jak: [START, 'foo', 'bar', 'spam', eggs', END]
, a identyfikatory START/END są potrzebne na później, więc mogę później porównać. Teraz mam to ustawione w następujący sposób:Właściwy sposób na posiadanie unikalnego identyfikatora w Pythonie?
START = object()
END = object()
Działa to dobrze, ale cierpi na problem braku pracy z marynowaniem. Próbowałem zrobić to w następujący sposób, ale wydaje się strasznym sposobu realizacji tego:
class START(object):pass
class END(object):pass
Czy ktoś może podzielić się lepszych sposobów to zrobić? Również powyższy przykład jest tylko nadmiernym uproszczeniem innego problemu.
myślę, że byłoby lepiej po prostu nazwać to uproszczenie zamiast „uproszczeniem” – Casebash
Ponieważ to, co robisz jest bardzo skomplikowana (bez wyjaśnienia dlaczego), nazwałbym ją „powikłanie” lub może "nadmierna komplikacja". Obiekty Sentinel są w zasadzie bezużyteczne - istnieją o wiele lepsze sposoby organizowania danych. –
S: Byłby to przydatny komentarz, gdybyś zamieścił wyjaśnienie jednego z "daleko, dużo lepszych" sposobów. W tej chwili wydaje się po prostu crabby i protekcjonalny. –