Czy istnieje sposób na przekonanie się, aby podnieść wyjątek, jeśli zastąpi on klucz?Podnieś błąd, jeśli ze zrozumieniem w języku Python zostanie zastąpiony klucz
Na przykład, chciałbym następujące błędu, ponieważ istnieją dwa wartości dla klucza 'a'
:
>>> {k:v for k, v in ('a1', 'a2', 'b3')}
{'a': '2', 'b': '3'}
Zdaję sobie sprawę, można to zrobić za pomocą for
pętli. Czy istnieje sposób, aby to zrobić, zachowując składnię ze zrozumieniem?
Nie bez dodatkowego kodu. Można na przykład jawnie przetestować oczekiwaną długość. Składnia słownikowa działa tak samo jak zwykły słownik, ustawiając pary klucz-wartość, jeden po drugim, lub 'dict()', który można wywołać z sekwencją par klucz-wartość: last key wins. –
Można użyć efektu ubocznego, aby sprawdzić, czy każdy klawisz był wcześniej widziany, ale nie można "podnieść" z poziomu słownika ze zrozumieniem. – jonrsharpe
Czy możesz "wyrazić" w zrozumieniu słownika? Może ktoś inny może wywołać '.throw()' i rzucić wyjątek w zrozumienie dyktatu. Ale to prawdopodobnie nie jest dobry projekt. – Kevin